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}"); } } } }
public async Task GetEthereumAddresses() { var addresses = new List <string> { "0x0E95F8F8ecBd770585766c1CD216C81aA43439a6", "0xda4D788FA55CDE88C8dc93Ceb4Ce9EDCf26Ee2A5", "0x26769f254f1Ba073cEF6e9E47a7320332a4dA3D8" //TODO: Reenable these. They break issue: https://github.com/MelbourneDeveloper/CryptoCurrency.Net/issues/1 //"0xFBb1b73C4f0BDa4f67dcA266ce6Ef42f520fBB98", //"0xfCA70E67b3f93f679992Cd36323eEB5a5370C8e4" }; var addressInformations = (await _BlockchainClientManager.GetAddresses(CurrencySymbol.Ethereum, addresses)).ToList(); var ethereumResults = addressInformations.FirstOrDefault(a => a.Key.Equals(CurrencySymbol.Ethereum)); var expected = ethereumResults.Value.Count(); Assert.AreEqual(expected, addresses.Count, "The number of addresses returned does not match the number requested."); }
//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"); } } } }