示例#1
0
        public async Task <IAddressMainInfo> GetMainInfoAsync(string id)
        {
            if (BitcoinAddressHelper.IsBitcoinColoredAddress(id, _appSettings.BcnExploler.UsedNetwork()))
            {
                var result = new BitcoinColoredAddress(id, _appSettings.BcnExploler.UsedNetwork());

                return(new AddressMainInfo
                {
                    AddressId = id,
                    ColoredAddress = result.ToWif(),
                    UncoloredAddress = result.Address.ToString(),
                    IsColored = true
                });
            }

            if (BitcoinAddressHelper.IsBitcoinPubKeyAddress(id, _appSettings.BcnExploler.UsedNetwork()))
            {
                var result = new BitcoinPubKeyAddress(id, _appSettings.BcnExploler.UsedNetwork());

                return(new AddressMainInfo
                {
                    AddressId = id,
                    ColoredAddress = result.ToColoredAddress().ToWif(),
                    UncoloredAddress = result.ToString(),
                    IsColored = false
                });
            }

            if (BitcoinAddressHelper.IsBitcoinScriptAddress(id, _appSettings.BcnExploler.UsedNetwork()))
            {
                var result = new BitcoinScriptAddress(id, _appSettings.BcnExploler.UsedNetwork());

                return(new AddressMainInfo
                {
                    AddressId = id,
                    ColoredAddress = result.ToColoredAddress().ToWif(),
                    UncoloredAddress = result.ToString(),
                    IsColored = false
                });
            }

            return(null);
        }
示例#2
0
        public void CanParseColoredAddress()
        {
            var address = new BitcoinPubKeyAddress("16UwLL9Risc3QfPqBUvKofHmBQ7wMtjvM", this.networkMain);
            BitcoinColoredAddress colored = address.ToColoredAddress();

            Assert.Equal("akB4NBW9UuCmHuepksob6yfZs6naHtRCPNy", colored.ToWif());
            Assert.Equal(address.ScriptPubKey, colored.ScriptPubKey);

            BitcoinPubKeyAddress  testAddress = address.ToNetwork(this.networkTest);
            BitcoinColoredAddress testColored = testAddress.ToColoredAddress();

            Assert.Equal(this.networkTest, testAddress.Network);
            Assert.Equal(address.Hash, testAddress.Hash);

            Assert.Equal(colored.ToNetwork(this.networkTest), testColored);

            Assert.Equal(testAddress.ScriptPubKey, testColored.ScriptPubKey);

            Assert.Equal(this.networkTest, testColored.Network);
            testColored = new BitcoinColoredAddress("bWqaKUZETiECYgmJNbNZUoanBxnAzoVjCNx");
            Assert.Contains(testColored.Network, new[] { this.networkRegTest, this.networkTest });
            Assert.Equal(colored.ToNetwork(this.networkTest), testColored);
        }
        public void CanParseColoredAddress()
        {
            var address = new BitcoinPubKeyAddress("16UwLL9Risc3QfPqBUvKofHmBQ7wMtjvM");
            var colored = address.ToColoredAddress();

            Assert.Equal("akB4NBW9UuCmHuepksob6yfZs6naHtRCPNy", colored.ToWif());
            Assert.Equal(address.ScriptPubKey, colored.ScriptPubKey);

            var testAddress = address.ToNetwork(Network.TestNet);
            var testColored = testAddress.ToColoredAddress();

            Assert.Equal(Network.TestNet, testAddress.Network);
            Assert.Equal(address.Hash, testAddress.Hash);

            Assert.Equal(colored.ToNetwork(Network.TestNet), testColored);

            Assert.Equal(testAddress.ScriptPubKey, testColored.ScriptPubKey);

            Assert.Equal(Network.TestNet, testColored.Network);
            testColored = new BitcoinColoredAddress("bWqaKUZETiECYgmJNbNZUoanBxnAzoVjCNx");
            Assert.Equal(Network.TestNet, testColored.Network);
            Assert.Equal(colored.ToNetwork(Network.TestNet), testColored);
        }
示例#4
0
		public void CanParseColoredAddress()
		{
			var address = new BitcoinPubKeyAddress("16UwLL9Risc3QfPqBUvKofHmBQ7wMtjvM");
			var colored = address.ToColoredAddress();
			Assert.Equal("akB4NBW9UuCmHuepksob6yfZs6naHtRCPNy", colored.ToWif());
			Assert.Equal(address.ScriptPubKey, colored.ScriptPubKey);

			var testAddress = address.ToNetwork(Network.TestNet);
			var testColored = testAddress.ToColoredAddress();

			Assert.Equal(Network.TestNet, testAddress.Network);
			Assert.Equal(address.Hash, testAddress.Hash);

			Assert.Equal(colored.ToNetwork(Network.TestNet), testColored);

			Assert.Equal(testAddress.ScriptPubKey, testColored.ScriptPubKey);

			Assert.Equal(Network.TestNet, testColored.Network);
			testColored = new BitcoinColoredAddress("bWqaKUZETiECYgmJNbNZUoanBxnAzoVjCNx");
			Assert.Equal(Network.TestNet, testColored.Network);
			Assert.Equal(colored.ToNetwork(Network.TestNet), testColored);
		}