1
0

move synchronous_get to network.py, fix get_balance script

This commit is contained in:
ThomasV
2013-10-03 10:05:01 +02:00
parent f93bc5951c
commit 7a5016ec42
5 changed files with 31 additions and 30 deletions

View File

@@ -3,25 +3,26 @@
import sys
from electrum import Interface
from electrum import bitcoin, Transaction
from electrum import Network, SimpleConfig
def get_transaction(interface, tx_hash, tx_height):
raw_tx = interface.synchronous_get([(
def get_transaction(network, tx_hash, tx_height):
raw_tx = network.synchronous_get([(
'blockchain.transaction.get', [tx_hash, tx_height])])[0]
tx = Transaction(raw_tx)
return tx
def get_history(interface, addr):
transactions = interface.synchronous_get([(
def get_history(network, addr):
transactions = network.synchronous_get([(
'blockchain.address.get_history', [addr])])[0]
transactions.sort(key=lambda x: x["height"])
return [(i["tx_hash"], i["height"]) for i in transactions]
def get_addr_balance(interface, address):
def get_addr_balance(network, address):
prevout_values = {}
h = get_history(interface, address)
h = get_history(network, address)
if h == ['*']:
return 0, 0
c = u = 0
@@ -31,7 +32,7 @@ def get_addr_balance(interface, address):
# fetch transactions
for tx_hash, tx_height in h:
transactions[(tx_hash, tx_height)] = get_transaction(
interface, tx_hash, tx_height)
network, tx_hash, tx_height)
for tx_hash, tx_height in h:
tx = transactions[(tx_hash, tx_height)]
@@ -74,9 +75,9 @@ def update_tx_outputs(tx, prevout_values):
def main(address):
interface = Interface()
interface.start()
c, u = get_addr_balance(interface, address)
network = Network(SimpleConfig({'server':'btc.it-zone.org:110:s','verbose':False}))
network.start(wait=True)
c, u = get_addr_balance(network, address)
print("Balance - confirmed: %d (%.8f BTC), unconfirmed: %d (%.8f BTC)" %
(c, c / 100000000., u, u / 100000000.))