Пример #1
0
        public async void ShouldBeAbleToResolveText()
        {
            var web3       = new Web3.Web3("https://mainnet.infura.io/v3/7238211010344719ad14a89db874158c");
            var ensService = new ENSService(web3);
            var url        = await ensService.ResolveTextAsync("nethereum.eth", TextDataKey.url);

            Assert.Equal("https://nethereum.com", url);
        }
Пример #2
0
 public ENS(IOptionsMonitor <ENSOptions> ENSOptions, ILog Log)
 {
     Web3                 = new Web3(ENSOptions.CurrentValue.Web3.ToString(), Log);
     EnsUtil              = new EnsUtil();
     ENSService           = new ENSService(Web3);
     ENSRegistryService   = new ENSRegistryService(Web3, ENSService.EnsRegistryAddress);
     BaseRegistrarService = new BaseRegistrarService(Web3, "0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85");
 }
Пример #3
0
        public async void ShouldBeAbleToResolveText()
        {
            var web3       = _ethereumClientIntegrationFixture.GetInfuraWeb3(InfuraNetwork.Mainnet);
            var ensService = new ENSService(web3);
            var url        = await ensService.ResolveTextAsync("nethereum.eth", TextDataKey.url);

            Assert.Equal("https://nethereum.com", url);
        }
Пример #4
0
        public async void ShouldResolveAddressFromMainnet()
        {
            var web3       = new Web3.Web3("https://mainnet.infura.io/v3/7238211010344719ad14a89db874158c");
            var ensService = new ENSService(web3);
            var theAddress = await ensService.ResolveAddressAsync("nick.eth");

            var expectedAddress = "0xb8c2C29ee19D8307cb7255e1Cd9CbDE883A267d5";

            Assert.True(expectedAddress.IsTheSameAddress(theAddress));
        }
Пример #5
0
        //[Fact]
        public async void ShouldReverseResolveAddressFromMainnet()
        {
            var web3       = new Web3.Web3("https://mainnet.infura.io/v3/7238211010344719ad14a89db874158c");
            var ensService = new ENSService(web3);
            var name       = await ensService.ReverseResolveAsync("0xb8c2C29ee19D8307cb7255e1Cd9CbDE883A267d5");

            var expectedName = "nick.eth";

            Assert.Equal(expectedName, name);
        }
Пример #6
0
        //[Fact]
        public async void ShouldReverseResolveAddressFromMainnet()
        {
            var web3       = new Web3.Web3("https://mainnet.infura.io/v3/7238211010344719ad14a89db874158c");
            var ensService = new ENSService(web3);
            var name       = await ensService.ReverseResolveAsync("0xd1220a0cf47c7b9be7a2e6ba89f429762e7b9adb");

            var expectedName = "alex.vandesande.eth";

            Assert.Equal(expectedName, name);
        }
Пример #7
0
        public async void ShouldResolveAddressFromMainnet()
        {
            var web3       = _ethereumClientIntegrationFixture.GetInfuraWeb3(InfuraNetwork.Mainnet);
            var ensService = new ENSService(web3);
            var theAddress = await ensService.ResolveAddressAsync("nick.eth");

            var expectedAddress = "0xb8c2C29ee19D8307cb7255e1Cd9CbDE883A267d5";

            Assert.True(expectedAddress.IsTheSameAddress(theAddress));
        }
Пример #8
0
        //[Fact]
        public async void ShouldReverseResolveAddressFromMainnet()
        {
            var web3       = _ethereumClientIntegrationFixture.GetInfuraWeb3(InfuraNetwork.Mainnet);
            var ensService = new ENSService(web3);
            var name       = await ensService.ReverseResolveAsync("0xd1220a0cf47c7b9be7a2e6ba89f429762e7b9adb");

            var expectedName = "alex.vandesande.eth";

            Assert.Equal(expectedName, name);
        }
Пример #9
0
        public async void ShouldCreateContentIPFSHash()
        {
            var multihash         = Multihash.FromB58String("QmRZiL8WbAVQMF1715fhG3b4x9tfGS6hgBLPQ6KYfKzcYL");
            var cid               = new IPLD.ContentIdentifier.Cid(MulticodecCode.MerkleDAGProtobuf, multihash);
            var ipfsStoragePrefix = new byte[] { 0xe3, 0x01 };
            var fullContentHash   = ipfsStoragePrefix.Concat(cid.ToBytes()).ToArray();
            var web3              = new Web3.Web3("https://mainnet.infura.io/v3/7238211010344719ad14a89db874158c");
            var ensService        = new ENSService(web3);
            var content           = await ensService.GetContentHashAsync("3-7-0-0.web3.nethereum.dotnet.netdapps.eth");

            //e301017012202febb4a7c84c8079f78844e50150d97ad33e2a3a0d680d54e7211e30ef13f08d
            Assert.Equal(content.ToHex(), fullContentHash.ToHex());
        }
Пример #10
0
        public async void ShouldRetrieveTheContentHashAndDecodeIt()
        {
            var web3       = new Web3.Web3("https://mainnet.infura.io/v3/7238211010344719ad14a89db874158c");
            var ensService = new ENSService(web3);
            var content    = await ensService.GetContentHashAsync("3-7-0-0.web3.nethereum.dotnet.netdapps.eth");

            var storage = content[0];

            //This depends on IPLD.ContentIdentifier, Multiformats Hash and Codec
            if (storage == 0xe3) // if storage is IPFS
            {
                //We skip 2 storage ++
                var cid     = IPLD.ContentIdentifier.Cid.Cast(content.Skip(2).ToArray());
                var decoded = cid.Hash.B58String();
                Assert.Equal("QmRZiL8WbAVQMF1715fhG3b4x9tfGS6hgBLPQ6KYfKzcYL", decoded);
            }
        }
Пример #11
0
        public async void ShouldRetrieveTheContentHashAndDecodeIt()
        {
            var web3       = _ethereumClientIntegrationFixture.GetInfuraWeb3(InfuraNetwork.Mainnet);
            var ensService = new ENSService(web3);
            var content    = await ensService.GetContentHashAsync("3-7-0-0.web3.nethereum.dotnet.netdapps.eth");

            var storage = content[0];

            //This depends on IPLD.ContentIdentifier, Multiformats Hash and Codec
            if (storage == 0xe3) // if storage is IPFS
            {
                //We skip 2 storage ++
                var cid     = IPLD.ContentIdentifier.Cid.Cast(content.Skip(2).ToArray());
                var decoded = cid.Hash.B58String();
                Assert.Equal("QmRZiL8WbAVQMF1715fhG3b4x9tfGS6hgBLPQ6KYfKzcYL", decoded);
            }
        }
Пример #12
0
 public async void ShouldBeAbleToSetTextExample()
 {
     var web3       = new Web3.Web3(new Account(""), "https://mainnet.infura.io/v3/7238211010344719ad14a89db874158c");
     var ensService = new ENSService(web3);
     var txn        = await ensService.SetTextRequestAsync("nethereum.eth", TextDataKey.url, "https://nethereum.com");
 }
Пример #13
0
 //[Fact]
 public async void ShouldSetSubnodeExample()
 {
     var web3       = new Web3.Web3(new Account(""), "https://mainnet.infura.io/v3/7238211010344719ad14a89db874158c");
     var ensService = new ENSService(web3);
     var txn        = await ensService.SetSubnodeOwnerRequestAsync("yoursupername.eth", "subdomainName", "addressOwner");
 }
Пример #14
0
 public async void ShouldBeAbleToSetTextExample()
 {
     var web3       = _ethereumClientIntegrationFixture.GetInfuraWeb3(InfuraNetwork.Mainnet);
     var ensService = new ENSService(web3);
     var txn        = await ensService.SetTextRequestAsync("nethereum.eth", TextDataKey.url, "https://nethereum.com");
 }
Пример #15
0
 //[Fact]
 public async void ShouldSetSubnodeExample()
 {
     var web3       = _ethereumClientIntegrationFixture.GetInfuraWeb3(InfuraNetwork.Mainnet);
     var ensService = new ENSService(web3);
     var txn        = await ensService.SetSubnodeOwnerRequestAsync("yoursupername.eth", "subdomainName", "addressOwner");
 }