Skip to content

Commit

Permalink
Add testnet support for address-based balance query tool
Browse files Browse the repository at this point in the history
  • Loading branch information
romanz committed Aug 14, 2018
1 parent 56af617 commit 0f02dfd
Showing 1 changed file with 21 additions and 7 deletions.
28 changes: 21 additions & 7 deletions tools/addr.py
Original file line number Diff line number Diff line change
@@ -1,18 +1,32 @@
#!/usr/bin/env python3
import hashlib
import sys
import argparse

from pycoin.coins.bitcoin.networks import BitcoinMainnet
from pycoin.coins.bitcoin.networks import BitcoinTestnet, BitcoinMainnet

import client

def main():
conn = client.Connection(('localhost', 50001))
addr, = sys.argv[1:]
script = BitcoinMainnet.ui.script_for_address(addr)
script_hash = hashlib.sha256(script).digest()[::-1].hex()
res = conn.call('blockchain.scripthash.get_balance', script_hash)['result']
print('{} has {} satoshis'.format(addr, res))
parser = argparse.ArgumentParser()
parser.add_argument('--testnet', action='store_true')
parser.add_argument('address', nargs='+')
args = parser.parse_args()

if args.testnet:
Network = BitcoinTestnet
port = 60001
else:
Network = BitcoinMainnet
port = 50001

conn = client.Connection(('localhost', port))
for addr in args.address:
script = Network.ui.script_for_address(addr)
script_hash = hashlib.sha256(script).digest()[::-1].hex()
reply = conn.call('blockchain.scripthash.get_balance', script_hash)
result = reply['result']
print('{} has {} satoshis'.format(addr, result))


if __name__ == '__main__':
Expand Down

0 comments on commit 0f02dfd

Please sign in to comment.