Struct lightning_block_sync::rpc::RpcClient
source · pub struct RpcClient { /* private fields */ }
Available on crate feature
rpc-client
only.Expand description
A simple RPC client for calling methods using HTTP POST
.
Implements BlockSource
and may return an Err
containing RpcError
. See
RpcClient::call_method
for details.
Implementations§
source§impl RpcClient
impl RpcClient
sourcepub fn new(credentials: &str, endpoint: HttpEndpoint) -> Result<Self>
pub fn new(credentials: &str, endpoint: HttpEndpoint) -> Result<Self>
Creates a new RPC client connected to the given endpoint with the provided credentials. The credentials should be a base64 encoding of a user name and password joined by a colon, as is required for HTTP basic access authentication.
sourcepub async fn call_method<T>(&self, method: &str, params: &[Value]) -> Result<T>where
JsonResponse: TryFrom<Vec<u8>, Error = Error> + TryInto<T, Error = Error>,
pub async fn call_method<T>(&self, method: &str, params: &[Value]) -> Result<T>where JsonResponse: TryFrom<Vec<u8>, Error = Error> + TryInto<T, Error = Error>,
Calls a method with the response encoded in JSON format and interpreted as type T
.
When an Err
is returned, std::io::Error::into_inner
may contain an RpcError
if
std::io::Error::kind
is std::io::ErrorKind::Other
.
Trait Implementations§
source§impl BlockSource for RpcClient
impl BlockSource for RpcClient
source§fn get_header<'a>(
&'a self,
header_hash: &'a BlockHash,
_height: Option<u32>
) -> AsyncBlockSourceResult<'a, BlockHeaderData>
fn get_header<'a>( &'a self, header_hash: &'a BlockHash, _height: Option<u32> ) -> AsyncBlockSourceResult<'a, BlockHeaderData>
Returns the header for a given hash. A height hint may be provided in case a block source
cannot easily find headers based on a hash. This is merely a hint and thus the returned
header must have the same hash as was requested. Otherwise, an error must be returned. Read more
source§fn get_block<'a>(
&'a self,
header_hash: &'a BlockHash
) -> AsyncBlockSourceResult<'a, BlockData>
fn get_block<'a>( &'a self, header_hash: &'a BlockHash ) -> AsyncBlockSourceResult<'a, BlockData>
Returns the block for a given hash. A headers-only block source should return a
Transient
error.source§fn get_best_block<'a>(
&'a self
) -> AsyncBlockSourceResult<'a, (BlockHash, Option<u32>)>
fn get_best_block<'a>( &'a self ) -> AsyncBlockSourceResult<'a, (BlockHash, Option<u32>)>
Returns the hash of the best block and, optionally, its height. Read more