3 from electrum import Interface, DEFAULT_SERVERS
6 servers = DEFAULT_SERVERS
7 interfaces = map ( lambda server: Interface({'server':server} ), servers )
8 for i in interfaces: i.start()
12 i.send([('blockchain.numblocks.subscribe',[])])
13 i.status = "timed out"
15 servers.remove(i.server)
16 i.status = "unreachable"
21 r = i.get_response(timeout=1)
25 if r.get('method') == 'blockchain.numblocks.subscribe':
26 servers.remove(i.server)
28 i.blocks = r.get('result')
32 from collections import defaultdict
38 numblocks = d.keys()[v.index(max(v))]
42 if abs(i.blocks-numblocks)>1: i.status = "lagging"
45 print "%30s %d %s "%(i.host, i.blocks, i.status)