tpeers.py - electrum - Electrum Bitcoin wallet
HTML git clone https://git.parazyd.org/electrum
DIR Log
DIR Files
DIR Refs
DIR Submodules
---
tpeers.py (940B)
---
1 #!/usr/bin/env python3
2 import asyncio
3
4 from electrum.network import filter_protocol, Network
5 from electrum.util import create_and_start_event_loop, log_exceptions
6 from electrum.blockchain import hash_raw_header
7 from electrum.simple_config import SimpleConfig
8
9
10 config = SimpleConfig()
11
12 loop, stopping_fut, loop_thread = create_and_start_event_loop()
13 network = Network(config)
14 network.start()
15
16 @log_exceptions
17 async def f():
18 try:
19 peers = await network.get_peers()
20 peers = filter_protocol(peers)
21 results = await network.send_multiple_requests(peers, 'blockchain.headers.subscribe', [])
22 for server, header in sorted(results.items(), key=lambda x: x[1].get('height')):
23 height = header.get('height')
24 blockhash = hash_raw_header(header.get('hex'))
25 print(server, height, blockhash)
26 finally:
27 stopping_fut.set_result(1)
28
29 asyncio.run_coroutine_threadsafe(f(), loop)