private static async Task TestCoin(CurrencySymbol symbol, List <string> inputAddresses, int repeatCount = 10) { var blockchainClientManager = new BlockchainClientManager(new RESTClientFactory()); for (var i = 0; i < repeatCount; i++) { var addressDictionary = await blockchainClientManager.GetAddresses(symbol, inputAddresses); foreach (var key in addressDictionary.Keys) { var outputAddresses = addressDictionary[key].ToList(); foreach (var address in outputAddresses) { Assert.AreEqual(inputAddresses.Count, outputAddresses.Count, "The number of addresses returned was not the same as the number of addresses called"); for (var x = 0; x < inputAddresses.Count; x++) { Assert.AreEqual(inputAddresses[x].ToLower(), outputAddresses[x].Address.ToLower(), "An inputted address turned out to be different to the outputted address"); } Assert.IsTrue(address.IsUnused.HasValue || address.TransactionCount.HasValue, "Can't tell if the address has transactions"); Console.WriteLine($"Address: {address.Address} Balance: {address.Balance} Transaction Count: {address.TransactionCount} Is Unused: {address.IsUnused}"); } } } }
//Output: Address: qzl8jth497mtckku404cadsylwanm3rfxsx0g38nwlqzl8jth497mtckku404cadsylwanm3rfxsx0g38nwl Balance: 0 public async Task GetBitcoinCashAddressesVerbose() { var blockchainClientManager = new BlockchainClientManager(new RESTClientFactory()); var addresses = await blockchainClientManager.GetAddresses(CurrencySymbol.BitcoinCash, new List <string> { "qzl8jth497mtckku404cadsylwanm3rfxsx0g38nwlqzl8jth497mtckku404cadsylwanm3rfxsx0g38nwl", "bitcoincash:qrcuqadqrzp2uztjl9wn5sthepkg22majyxw4gmv6p" }); var address = addresses[CurrencySymbol.BitcoinCash].First(); Console.WriteLine( $"Address: {address.Address} Balance: { address.Balance }" ); }
private static async Task TestCoin(CurrencySymbol symbol, IReadOnlyCollection <string> addresses2) { var blockchainClientManager = new BlockchainClientManager(new RESTClientFactory()); for (var i = 0; i < 10; i++) { var addressDictionary = await blockchainClientManager.GetAddresses(symbol, addresses2); foreach (var key in addressDictionary.Keys) { var addresses = addressDictionary[key]; foreach (var address in addresses) { Assert.IsTrue(address.IsUnused.HasValue || address.TransactionCount.HasValue, "Can't tell if the address has transactions"); } } } }