URI: 
       tadd daemon port to config - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 0bb16f083626815ffc6df39b3dcf6e46a625dfc5
   DIR parent 8395bfe67f0a8be7219752d3cc84e0d20abc2cbc
  HTML Author: ThomasV <thomasv@gitorious>
       Date:   Sun, 16 Mar 2014 06:28:16 +0100
       
       add daemon port to config
       
       Diffstat:
         M lib/daemon.py                       |       8 +++++---
         D scripts/get_balance                 |      91 -------------------------------
       
       2 files changed, 5 insertions(+), 94 deletions(-)
       ---
   DIR diff --git a/lib/daemon.py b/lib/daemon.py
       t@@ -39,7 +39,8 @@ class NetworkProxy(threading.Thread):
                self.config = config
                self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
                self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
       -        self.socket.connect(('', 8000))
       +        self.daemon_port = config.get('daemon_port', 8000)
       +        self.socket.connect(('', self.daemon_port))
                self.message_id = 0
                self.unanswered_requests = {}
                self.subscriptions = {}
       t@@ -272,11 +273,12 @@ class NetworkServer:
                self.network = network
                self.server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
                self.server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
       -        self.server.bind(('', 8000))
       +        self.daemon_port = config.get('daemon_port', 8000)
       +        self.server.bind(('', self.daemon_port))
                self.server.listen(5)
                self.server.settimeout(1)
                self.running = False
       -        self.timeout = 60
       +        self.timeout = config.get('daemon_timeout', 60)
        
        
            def main_loop(self):
   DIR diff --git a/scripts/get_balance b/scripts/get_balance
       t@@ -1,91 +0,0 @@
       -#!/usr/bin/env python
       -
       -import sys
       -from electrum import Interface
       -from electrum import bitcoin, Transaction, Network
       -
       -
       -
       -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(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(network, address):
       -    prevout_values = {}
       -    h = get_history(network, address)
       -    if h == ['*']:
       -        return 0, 0
       -    c = u = 0
       -    received_coins = []   # list of coins received at address
       -    transactions = {}
       -
       -    # fetch transactions
       -    for tx_hash, tx_height in h:
       -        transactions[(tx_hash, tx_height)] = get_transaction(
       -            network, tx_hash, tx_height)
       -
       -    for tx_hash, tx_height in h:
       -        tx = transactions[(tx_hash, tx_height)]
       -        if not tx:
       -            continue
       -        update_tx_outputs(tx, prevout_values)
       -        for i, (addr, value) in enumerate(tx.outputs):
       -            if addr == address:
       -                key = tx_hash + ':%d' % i
       -                received_coins.append(key)
       -
       -    for tx_hash, tx_height in h:
       -        tx = transactions[(tx_hash, tx_height)]
       -        if not tx:
       -            continue
       -        v = 0
       -
       -        for item in tx.inputs:
       -            addr = item.get('address')
       -            if addr == address:
       -                key = item['prevout_hash'] + ':%d' % item['prevout_n']
       -                value = prevout_values.get(key)
       -                if key in received_coins:
       -                    v -= value
       -        for i, (addr, value) in enumerate(tx.outputs):
       -            key = tx_hash + ':%d' % i
       -            if addr == address:
       -                v += value
       -        if tx_height:
       -            c += v
       -        else:
       -            u += v
       -    return c, u
       -
       -
       -def update_tx_outputs(tx, prevout_values):
       -    for i, (addr, value) in enumerate(tx.outputs):
       -        key = tx.hash() + ':%d' % i
       -        prevout_values[key] = value
       -
       -
       -def main(address):
       -    network = Network()
       -    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.))
       -
       -if __name__ == "__main__":
       -    try:
       -        address = sys.argv[1]
       -    except Exception:
       -        print "usage: get_balance <bitcoin_address>"
       -        sys.exit(1)
       -    main(address)