Remote Procedure Call (RPC)

Bitcoin remote procedure call.

shuttle.providers.bitcoin.rpc.get_balance(address, network='testnet', timeout=60)

Get Bitcoin balance.

Parameters
  • address (str) – Bitcoin address.

  • network (str) – Bitcoin network, defaults to testnet.

  • timeout (int) – request timeout, default to 60.

Returns

int – Bitcoin balance.

>>> from shuttle.providers.bitcoin.rpc import get_balance
>>> get_balance(bitcoin_address, "mainnet")
25800000
shuttle.providers.bitcoin.rpc.get_unspent_transactions(address, network='testnet', include_script=True, limit=15, timeout=60)

Get Bitcoin unspent transaction output (UTXO).

Parameters
  • address (str) – Bitcoin address.

  • network (str) – Bitcoin network, defaults to testnet.

  • include_script (bool) – Bitcoin include script, defaults to True.

  • limit (int) – Bitcoin utxo’s limit, defaults to 15.

  • timeout (int) – request timeout, default to 60.

Returns

list – Bitcoin utxo’s.

>>> from shuttle.providers.bitcoin.rpc import get_unspent_transactions
>>> get_unspent_transactions(bitcoin_address, "testnet")
[...]
shuttle.providers.bitcoin.rpc.get_transaction_detail(transaction_id, network='testnet', timeout=60)

Get transaction detail.

Parameters
  • transaction_id (str) – Bitcoin transaction hash or transaction id.

  • network (str) – Bitcoin network, defaults to testnet.

  • timeout (int) – request timeout, default to 60.

Returns

dict – Bitcoin transaction detail.

>>> from shuttle.providers.bitcoin.rpc import get_transaction_detail
>>> get_transaction_detail(transaction_id, "testnet")
{...}
shuttle.providers.bitcoin.rpc.decoded_transaction_raw(transaction_raw, network='testnet', timeout=60)

Get decoded transaction raw.

Parameters
  • transaction_raw (str) – Bitcoin transaction raw.

  • network (str) – Bitcoin network, defaults to testnet.

  • timeout (int) – request timeout, default to 60.

Returns

dict – Bitcoin decoded transaction raw.

>>> from shuttle.providers.bitcoin.rpc import decoded_transaction_raw
>>> decoded_transaction_raw(transaction_raw, "testnet")
{...}
shuttle.providers.bitcoin.rpc.submit_payment(tx_raw, network='testnet', timeout=60)

Submit transaction raw to Bitcoin blockchain.

Parameters
  • tx_raw (str) – Bitcoin transaction raw.

  • network (str) – Bitcoin network, defaults to testnet.

  • timeout (int) – request timeout, default to 60.

Returns

dict – Bitcoin decoded transaction raw.

>>> from shuttle.providers.bitcoin.rpc import submit_payment
>>> submit_payment(transaction_raw, "testnet")
{...}