testimate_fee.py - electrum - Electrum Bitcoin wallet
HTML git clone https://git.parazyd.org/electrum
DIR Log
DIR Files
DIR Refs
DIR Submodules
---
testimate_fee.py (914B)
---
1 #!/usr/bin/env python3
2 import json
3 import asyncio
4 from statistics import median
5 from numbers import Number
6
7 from electrum.network import filter_protocol, Network
8 from electrum.util import create_and_start_event_loop, log_exceptions
9 from electrum.simple_config import SimpleConfig
10
11
12 config = SimpleConfig()
13
14 loop, stopping_fut, loop_thread = create_and_start_event_loop()
15 network = Network(config)
16 network.start()
17
18 @log_exceptions
19 async def f():
20 try:
21 peers = await network.get_peers()
22 peers = filter_protocol(peers)
23 results = await network.send_multiple_requests(peers, 'blockchain.estimatefee', [2])
24 print(json.dumps(results, indent=4))
25 feerate_estimates = filter(lambda x: isinstance(x, Number), results.values())
26 print(f"median feerate: {median(feerate_estimates)}")
27 finally:
28 stopping_fut.set_result(1)
29
30 asyncio.run_coroutine_threadsafe(f(), loop)