Trait bitcoincore_rest::RestApi
source · pub trait RestApi {
Show 16 methods
// Required methods
fn get_json<'life0, 'life1, 'async_trait, T>(
&'life0 self,
path: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<T, Error>> + Send + 'async_trait>>
where T: 'async_trait + for<'a> Deserialize<'a>,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn get_bin<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<Bytes, Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
// Provided methods
fn get_block_headers<'life0, 'life1, 'async_trait>(
&'life0 self,
start_hash: &'life1 BlockHash,
count: u32
) -> Pin<Box<dyn Future<Output = Result<Vec<Header>, Error>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn get_block_at_height<'life0, 'async_trait>(
&'life0 self,
height: u64
) -> Pin<Box<dyn Future<Output = Result<Block, Error>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait { ... }
fn get_block_hash<'life0, 'async_trait>(
&'life0 self,
height: u64
) -> Pin<Box<dyn Future<Output = Result<BlockHash, Error>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait { ... }
fn get_block<'life0, 'life1, 'async_trait>(
&'life0 self,
hash: &'life1 BlockHash
) -> Pin<Box<dyn Future<Output = Result<Block, Error>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn get_transaction<'life0, 'life1, 'async_trait>(
&'life0 self,
txid: &'life1 Txid
) -> Pin<Box<dyn Future<Output = Result<Transaction, Error>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn get_block_filter_headers<'life0, 'life1, 'async_trait>(
&'life0 self,
start_hash: &'life1 BlockHash,
count: u32
) -> Pin<Box<dyn Future<Output = Result<Vec<FilterHeader>, Error>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn get_block_filter<'life0, 'life1, 'async_trait>(
&'life0 self,
hash: &'life1 BlockHash
) -> Pin<Box<dyn Future<Output = Result<BlockFilter, Error>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn get_chain_info<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<GetBlockchainInfoResult, Error>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait { ... }
fn get_utxos<'life0, 'async_trait>(
&'life0 self,
outpoints: Vec<OutPoint>,
check_mempool: bool
) -> Pin<Box<dyn Future<Output = Result<GetUtxosResult, Error>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait { ... }
fn get_mempool_info<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<GetMempoolInfoResult, Error>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait { ... }
fn get_mempool<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<HashMap<Txid, GetMempoolEntryResult>, Error>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait { ... }
fn get_mempool_txids<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Vec<Txid>, Error>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait { ... }
fn get_mempool_txids_and_sequence<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<GetMempoolTxidsAndSequenceResult, Error>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait { ... }
fn get_deployment_info<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<GetDeploymentInfoResult, Error>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait { ... }
}
Required Methods§
sourcefn get_json<'life0, 'life1, 'async_trait, T>(
&'life0 self,
path: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<T, Error>> + Send + 'async_trait>>where
T: 'async_trait + for<'a> Deserialize<'a>,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_json<'life0, 'life1, 'async_trait, T>( &'life0 self, path: &'life1 str ) -> Pin<Box<dyn Future<Output = Result<T, Error>> + Send + 'async_trait>>where T: 'async_trait + for<'a> Deserialize<'a>, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Get a response from a json
endpoint
Provided Methods§
sourcefn get_block_headers<'life0, 'life1, 'async_trait>(
&'life0 self,
start_hash: &'life1 BlockHash,
count: u32
) -> Pin<Box<dyn Future<Output = Result<Vec<Header>, Error>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_block_headers<'life0, 'life1, 'async_trait>( &'life0 self, start_hash: &'life1 BlockHash, count: u32 ) -> Pin<Box<dyn Future<Output = Result<Vec<Header>, Error>> + Send + 'async_trait>>where Self: Sync + 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Get a series of block headers beginning from a block hash
See https://github.com/bitcoin/bitcoin/blob/master/doc/REST-interface.md#blockheaders
sourcefn get_block_at_height<'life0, 'async_trait>(
&'life0 self,
height: u64
) -> Pin<Box<dyn Future<Output = Result<Block, Error>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
fn get_block_at_height<'life0, 'async_trait>( &'life0 self, height: u64 ) -> Pin<Box<dyn Future<Output = Result<Block, Error>> + Send + 'async_trait>>where Self: Sync + 'async_trait, 'life0: 'async_trait,
Convenience function to get a block at a specific height
sourcefn get_block_hash<'life0, 'async_trait>(
&'life0 self,
height: u64
) -> Pin<Box<dyn Future<Output = Result<BlockHash, Error>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
fn get_block_hash<'life0, 'async_trait>( &'life0 self, height: u64 ) -> Pin<Box<dyn Future<Output = Result<BlockHash, Error>> + Send + 'async_trait>>where Self: Sync + 'async_trait, 'life0: 'async_trait,
Get a block hash at a specific height
See https://github.com/bitcoin/bitcoin/blob/master/doc/REST-interface.md#blockhash-by-height
sourcefn get_block<'life0, 'life1, 'async_trait>(
&'life0 self,
hash: &'life1 BlockHash
) -> Pin<Box<dyn Future<Output = Result<Block, Error>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_block<'life0, 'life1, 'async_trait>( &'life0 self, hash: &'life1 BlockHash ) -> Pin<Box<dyn Future<Output = Result<Block, Error>> + Send + 'async_trait>>where Self: Sync + 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Get a block by its hash
See https://github.com/bitcoin/bitcoin/blob/master/doc/REST-interface.md#blocks
sourcefn get_transaction<'life0, 'life1, 'async_trait>(
&'life0 self,
txid: &'life1 Txid
) -> Pin<Box<dyn Future<Output = Result<Transaction, Error>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_transaction<'life0, 'life1, 'async_trait>( &'life0 self, txid: &'life1 Txid ) -> Pin<Box<dyn Future<Output = Result<Transaction, Error>> + Send + 'async_trait>>where Self: Sync + 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Get a transaction by its txid
See https://github.com/bitcoin/bitcoin/blob/master/doc/REST-interface.md#transactions
sourcefn get_block_filter_headers<'life0, 'life1, 'async_trait>(
&'life0 self,
start_hash: &'life1 BlockHash,
count: u32
) -> Pin<Box<dyn Future<Output = Result<Vec<FilterHeader>, Error>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_block_filter_headers<'life0, 'life1, 'async_trait>( &'life0 self, start_hash: &'life1 BlockHash, count: u32 ) -> Pin<Box<dyn Future<Output = Result<Vec<FilterHeader>, Error>> + Send + 'async_trait>>where Self: Sync + 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Get a series of block filter headers beginning from a block hash
See https://github.com/bitcoin/bitcoin/blob/master/doc/REST-interface.md#blockfilter-headers
sourcefn get_block_filter<'life0, 'life1, 'async_trait>(
&'life0 self,
hash: &'life1 BlockHash
) -> Pin<Box<dyn Future<Output = Result<BlockFilter, Error>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_block_filter<'life0, 'life1, 'async_trait>( &'life0 self, hash: &'life1 BlockHash ) -> Pin<Box<dyn Future<Output = Result<BlockFilter, Error>> + Send + 'async_trait>>where Self: Sync + 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Get a block filter for a given block hash
See https://github.com/bitcoin/bitcoin/blob/master/doc/REST-interface.md#blockfilters
sourcefn get_chain_info<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<GetBlockchainInfoResult, Error>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
fn get_chain_info<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<GetBlockchainInfoResult, Error>> + Send + 'async_trait>>where Self: Sync + 'async_trait, 'life0: 'async_trait,
Get info on the block chain state
See https://github.com/bitcoin/bitcoin/blob/master/doc/REST-interface.md#chaininfos
sourcefn get_utxos<'life0, 'async_trait>(
&'life0 self,
outpoints: Vec<OutPoint>,
check_mempool: bool
) -> Pin<Box<dyn Future<Output = Result<GetUtxosResult, Error>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
fn get_utxos<'life0, 'async_trait>( &'life0 self, outpoints: Vec<OutPoint>, check_mempool: bool ) -> Pin<Box<dyn Future<Output = Result<GetUtxosResult, Error>> + Send + 'async_trait>>where Self: Sync + 'async_trait, 'life0: 'async_trait,
Get utxos for a given set of outpoints
Optionally check unconfirmed utxos in the mempool
See https://github.com/bitcoin/bitcoin/blob/master/doc/REST-interface.md#query-utxo-set
sourcefn get_mempool_info<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<GetMempoolInfoResult, Error>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
fn get_mempool_info<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<GetMempoolInfoResult, Error>> + Send + 'async_trait>>where Self: Sync + 'async_trait, 'life0: 'async_trait,
Get info on the mempool state
See https://github.com/bitcoin/bitcoin/blob/master/doc/REST-interface.md#memory-pool
sourcefn get_mempool<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<HashMap<Txid, GetMempoolEntryResult>, Error>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
fn get_mempool<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<HashMap<Txid, GetMempoolEntryResult>, Error>> + Send + 'async_trait>>where Self: Sync + 'async_trait, 'life0: 'async_trait,
Get info for every transaction in the mempool
See https://github.com/bitcoin/bitcoin/blob/master/doc/REST-interface.md#memory-pool
sourcefn get_mempool_txids<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Vec<Txid>, Error>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
fn get_mempool_txids<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<Vec<Txid>, Error>> + Send + 'async_trait>>where Self: Sync + 'async_trait, 'life0: 'async_trait,
Get the txid for every transaction in the mempool Only available on Bitcoin Core v25.0.0 and later
See https://github.com/bitcoin/bitcoin/blob/master/doc/REST-interface.md#memory-pool
sourcefn get_mempool_txids_and_sequence<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<GetMempoolTxidsAndSequenceResult, Error>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
fn get_mempool_txids_and_sequence<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<GetMempoolTxidsAndSequenceResult, Error>> + Send + 'async_trait>>where Self: Sync + 'async_trait, 'life0: 'async_trait,
Get the txid for every transaction in the mempool and the mempool sequence Only available on Bitcoin Core v25.0.0 and later
See https://github.com/bitcoin/bitcoin/blob/master/doc/REST-interface.md#memory-pool
sourcefn get_deployment_info<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<GetDeploymentInfoResult, Error>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
fn get_deployment_info<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<GetDeploymentInfoResult, Error>> + Send + 'async_trait>>where Self: Sync + 'async_trait, 'life0: 'async_trait,
Get soft fork deployment status info Only available on Bitcoin Core v25.0.0 and later
See https://github.com/bitcoin/bitcoin/blob/master/doc/REST-interface.md#deployment-info