#!/usr/bin/env python
-import sys, time
-from electrum import Interface
+import sys, time, electrum
try:
addr = sys.argv[1]
-except:
+except Exception:
print "usage: watch_address <bitcoin_address>"
sys.exit(1)
-i = Interface({'server':'ecdsa.org:50001:t'})
-i.start()
-i.send([('blockchain.address.subscribe',[addr])] )
-time.sleep(1)
-while True:
- r = i.get_response()
- method = r.get('method')
- if method == 'blockchain.address.subscribe':
- #i.send([('blockchain.address.get_history',[addr])])
- print r
-
- elif method == 'blockchain.address.get_history':
- confirmed = unconfirmed = 0
- h = r.get('result')
- if h is None:
- continue
- for item in h:
- v = item['value']
- if item['height']:
- confirmed += v
- else:
- unconfirmed += v
- print (confirmed+unconfirmed)/1.e8
+# 1. start the interface and wait for connection
+interface = electrum.Interface('electrum.no-ip.org:50002:s')
+interface.start(wait = True)
+if not interface.is_connected:
+ print "not connected"
+ exit()
+
+# 2. send the subscription
+callback = lambda _,result: electrum.print_json(result.get('result'))
+interface.send([('blockchain.address.subscribe',[addr])], callback)
+# 3. wait for results
+while True:
+ time.sleep(1)