3

I need to go through a large list (about 100 000) of bitcoin addresses, and, if they have a final balance, find that as well as the total sent and recieved. I am working in python, and I have looked through the various API's, but so far I have found the best solution to be getting the JSON data from https://blockchain.info/

I use:

urllib.urlopen("https://blockchain.info/multiaddr?cors=true&active="+testStr)

where testStr is up to 23 addresses, separated by |

This returns a page which I dump into a json and parse for the data I need. I am just wondering if there is any faster method to get this information, rather than multiple calls to blockchain.info? thanks

1

If you do scientific or academical research, you probably won't use blockchain.info. Because this would mean you basically trust bitcoin.info as blockchain source. It really would consider creating and querying your own blockchain copy by installing and syncing a Bitcoin-Core node.

A simple python (or different language) JSON RPC script could solve your problem. (requires a synced bitcoin-core node)

  1. Add 1000 (of the 100'000) addresses over RPC call importaddress
  2. Get balance of each address by calling `listreceivedbyaddress
  3. Stop bitcoin-core
  4. Delete wallet.dat
  5. Start bitcoin-core

--> go back to 1)

You might increase or decrease the address frame (1000) depending on your system CPU/Mem/Disk resources.

  • Hi. Thank you for the input! I have got to try and code this first, but is it likely to be slower or faster than questioning blockchain? At the moment, my main concern is speed. – MrJanx Aug 18 '15 at 18:15
  • Very likely that accessing blockchain.info is faster because they have a per-address index. You need to rescan after every frame (+/-1000 address) which can take serval minutes. But blockchain.info might block your access because of high traffic or similar. – Jonas Schnelli Aug 19 '15 at 6:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.