Initial novacoin support
[electrum-nvc.git] / scripts / watch_address
index 1119558..d992699 100755 (executable)
@@ -1,37 +1,26 @@
 #!/usr/bin/env python
 
-import sys, time
-from electrum import Interface
+import sys, time, electrum_nvc
 
 try:
     addr = sys.argv[1]
-except:
+except Exception:
     print "usage: watch_address <bitcoin_address>"
     sys.exit(1)
 
-i = Interface()
-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 "balance:", (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)