Source code for zpywallet.broadcast.btc.blockchair

import requests
from ...errors import NetworkException
from .._provider_success import bitcoin_like_broadcast_success_txid


[docs]async def broadcast_transaction_btc_blockchair(raw_transaction_hex): """Broadcast a Bitcoin transaction using Blockchair. Args: raw_transaction_hex (str): The raw transaction in hexadecimal form. """ api_url = "https://api.blockchair.com/bitcoin/push/transaction" payload = {"data": raw_transaction_hex} try: response = requests.post(api_url, json=payload, timeout=30) except Exception as e: raise NetworkException( "Connection error while broadcasting transaction: {}".format(str(e)) ) result = response.json() if response.status_code >= 300: raise NetworkException( f"Failed to broadcast Bitcoin transaction using Blockchair API: {result.get('message')}" ) return bitcoin_like_broadcast_success_txid(raw_transaction_hex)