URI: 
       ttxbroadcast.py - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
       ttxbroadcast.py (943B)
       ---
            1 #!/usr/bin/env python3
            2 #
            3 # Connect to lots of servers and broadcast a given tx to each.
            4 
            5 import sys
            6 import asyncio
            7 
            8 from electrum.network import filter_protocol, Network
            9 from electrum.util import create_and_start_event_loop, log_exceptions
           10 from electrum.simple_config import SimpleConfig
           11 
           12 
           13 try:
           14     rawtx = sys.argv[1]
           15 except:
           16     print("usage: txbroadcast rawtx")
           17     sys.exit(1)
           18 
           19 config = SimpleConfig()
           20 
           21 loop, stopping_fut, loop_thread = create_and_start_event_loop()
           22 network = Network(config)
           23 network.start()
           24 
           25 @log_exceptions
           26 async def f():
           27     try:
           28         peers = await network.get_peers()
           29         peers = filter_protocol(peers)
           30         results = await network.send_multiple_requests(peers, 'blockchain.transaction.broadcast', [rawtx])
           31         for server, resp in results.items():
           32             print(f"result: server={server}, response={resp}")
           33     finally:
           34         stopping_fut.set_result(1)
           35 
           36 asyncio.run_coroutine_threadsafe(f(), loop)