pub struct Client { /* private fields */ }Expand description
Client for NEAR Protocol JSON RPC API
Version: 1.2.0
Implementations§
Source§impl Client
impl Client
Sourcepub fn new(baseurl: &str) -> Self
pub fn new(baseurl: &str) -> Self
Create a new client.
baseurl is the base URL provided to the internal
reqwest::Client, and should include a scheme and hostname,
as well as port and a path stem if applicable.
Sourcepub fn new_with_client(baseurl: &str, client: Client) -> Self
pub fn new_with_client(baseurl: &str, client: Client) -> Self
Construct a new client with an existing reqwest::Client,
allowing more control over its configuration.
baseurl is the base URL provided to the internal
reqwest::Client, and should include a scheme and hostname,
as well as port and a path stem if applicable.
Source§impl Client
impl Client
Sourcepub async fn experimental_changes<'a>(
&'a self,
body: &'a JsonRpcRequestForExperimentalChanges,
) -> Result<ResponseValue<JsonRpcResponseForRpcStateChangesInBlockResponseAndRpcStateChangesError>, Error<()>>
pub async fn experimental_changes<'a>( &'a self, body: &'a JsonRpcRequestForExperimentalChanges, ) -> Result<ResponseValue<JsonRpcResponseForRpcStateChangesInBlockResponseAndRpcStateChangesError>, Error<()>>
[Deprecated] Returns changes for a given account, contract or contract code for given block height or hash. Consider using changes instead.
Sends a POST request to /EXPERIMENTAL_changes
Sourcepub async fn experimental_changes_in_block<'a>(
&'a self,
body: &'a JsonRpcRequestForExperimentalChangesInBlock,
) -> Result<ResponseValue<JsonRpcResponseForRpcStateChangesInBlockByTypeResponseAndRpcStateChangesError>, Error<()>>
pub async fn experimental_changes_in_block<'a>( &'a self, body: &'a JsonRpcRequestForExperimentalChangesInBlock, ) -> Result<ResponseValue<JsonRpcResponseForRpcStateChangesInBlockByTypeResponseAndRpcStateChangesError>, Error<()>>
[Deprecated] Returns changes in block for given block height or hash over all transactions for all the types. Includes changes like account_touched, access_key_touched, data_touched, contract_code_touched. Consider using block_effects instead
Sends a POST request to /EXPERIMENTAL_changes_in_block
Sourcepub async fn experimental_congestion_level<'a>(
&'a self,
body: &'a JsonRpcRequestForExperimentalCongestionLevel,
) -> Result<ResponseValue<JsonRpcResponseForRpcCongestionLevelResponseAndRpcChunkError>, Error<()>>
pub async fn experimental_congestion_level<'a>( &'a self, body: &'a JsonRpcRequestForExperimentalCongestionLevel, ) -> Result<ResponseValue<JsonRpcResponseForRpcCongestionLevelResponseAndRpcChunkError>, Error<()>>
Queries the congestion level of a shard. More info about congestion here
Sends a POST request to /EXPERIMENTAL_congestion_level
Sourcepub async fn experimental_genesis_config<'a>(
&'a self,
body: &'a JsonRpcRequestForExperimentalGenesisConfig,
) -> Result<ResponseValue<JsonRpcResponseForGenesisConfigAndGenesisConfigError>, Error<()>>
pub async fn experimental_genesis_config<'a>( &'a self, body: &'a JsonRpcRequestForExperimentalGenesisConfig, ) -> Result<ResponseValue<JsonRpcResponseForGenesisConfigAndGenesisConfigError>, Error<()>>
[Deprecated] Get initial state and parameters for the genesis block. Consider genesis_config instead.
Sends a POST request to /EXPERIMENTAL_genesis_config
Sourcepub async fn experimental_light_client_block_proof<'a>(
&'a self,
body: &'a JsonRpcRequestForExperimentalLightClientBlockProof,
) -> Result<ResponseValue<JsonRpcResponseForRpcLightClientBlockProofResponseAndRpcLightClientProofError>, Error<()>>
pub async fn experimental_light_client_block_proof<'a>( &'a self, body: &'a JsonRpcRequestForExperimentalLightClientBlockProof, ) -> Result<ResponseValue<JsonRpcResponseForRpcLightClientBlockProofResponseAndRpcLightClientProofError>, Error<()>>
Returns the proofs for a transaction execution.
Sends a POST request to /EXPERIMENTAL_light_client_block_proof
Sourcepub async fn experimental_light_client_proof<'a>(
&'a self,
body: &'a JsonRpcRequestForExperimentalLightClientProof,
) -> Result<ResponseValue<JsonRpcResponseForRpcLightClientExecutionProofResponseAndRpcLightClientProofError>, Error<()>>
pub async fn experimental_light_client_proof<'a>( &'a self, body: &'a JsonRpcRequestForExperimentalLightClientProof, ) -> Result<ResponseValue<JsonRpcResponseForRpcLightClientExecutionProofResponseAndRpcLightClientProofError>, Error<()>>
Returns the proofs for a transaction execution.
Sends a POST request to /EXPERIMENTAL_light_client_proof
Sourcepub async fn experimental_maintenance_windows<'a>(
&'a self,
body: &'a JsonRpcRequestForExperimentalMaintenanceWindows,
) -> Result<ResponseValue<JsonRpcResponseForArrayOfRangeOfUint64AndRpcMaintenanceWindowsError>, Error<()>>
pub async fn experimental_maintenance_windows<'a>( &'a self, body: &'a JsonRpcRequestForExperimentalMaintenanceWindows, ) -> Result<ResponseValue<JsonRpcResponseForArrayOfRangeOfUint64AndRpcMaintenanceWindowsError>, Error<()>>
[Deprecated] Returns the future windows for maintenance in current epoch for the specified account. In the maintenance windows, the node will not be block producer or chunk producer. Consider using maintenance_windows instead.
Sends a POST request to /EXPERIMENTAL_maintenance_windows
Sourcepub async fn experimental_protocol_config<'a>(
&'a self,
body: &'a JsonRpcRequestForExperimentalProtocolConfig,
) -> Result<ResponseValue<JsonRpcResponseForRpcProtocolConfigResponseAndRpcProtocolConfigError>, Error<()>>
pub async fn experimental_protocol_config<'a>( &'a self, body: &'a JsonRpcRequestForExperimentalProtocolConfig, ) -> Result<ResponseValue<JsonRpcResponseForRpcProtocolConfigResponseAndRpcProtocolConfigError>, Error<()>>
A configuration that defines the protocol-level parameters such as gas/storage costs, limits, feature flags, other settings
Sends a POST request to /EXPERIMENTAL_protocol_config
Sourcepub async fn experimental_receipt<'a>(
&'a self,
body: &'a JsonRpcRequestForExperimentalReceipt,
) -> Result<ResponseValue<JsonRpcResponseForRpcReceiptResponseAndRpcReceiptError>, Error<()>>
pub async fn experimental_receipt<'a>( &'a self, body: &'a JsonRpcRequestForExperimentalReceipt, ) -> Result<ResponseValue<JsonRpcResponseForRpcReceiptResponseAndRpcReceiptError>, Error<()>>
Fetches a receipt by its ID (as is, without a status or execution outcome)
Sends a POST request to /EXPERIMENTAL_receipt
Sourcepub async fn experimental_split_storage_info<'a>(
&'a self,
body: &'a JsonRpcRequestForExperimentalSplitStorageInfo,
) -> Result<ResponseValue<JsonRpcResponseForRpcSplitStorageInfoResponseAndRpcSplitStorageInfoError>, Error<()>>
pub async fn experimental_split_storage_info<'a>( &'a self, body: &'a JsonRpcRequestForExperimentalSplitStorageInfo, ) -> Result<ResponseValue<JsonRpcResponseForRpcSplitStorageInfoResponseAndRpcSplitStorageInfoError>, Error<()>>
Contains the split storage information. More info on split storage here
Sends a POST request to /EXPERIMENTAL_split_storage_info
Sourcepub async fn experimental_tx_status<'a>(
&'a self,
body: &'a JsonRpcRequestForExperimentalTxStatus,
) -> Result<ResponseValue<JsonRpcResponseForRpcTransactionResponseAndRpcTransactionError>, Error<()>>
pub async fn experimental_tx_status<'a>( &'a self, body: &'a JsonRpcRequestForExperimentalTxStatus, ) -> Result<ResponseValue<JsonRpcResponseForRpcTransactionResponseAndRpcTransactionError>, Error<()>>
Queries status of a transaction by hash, returning the final transaction result and details of all receipts.
Sends a POST request to /EXPERIMENTAL_tx_status
Sourcepub async fn experimental_validators_ordered<'a>(
&'a self,
body: &'a JsonRpcRequestForExperimentalValidatorsOrdered,
) -> Result<ResponseValue<JsonRpcResponseForArrayOfValidatorStakeViewAndRpcValidatorError>, Error<()>>
pub async fn experimental_validators_ordered<'a>( &'a self, body: &'a JsonRpcRequestForExperimentalValidatorsOrdered, ) -> Result<ResponseValue<JsonRpcResponseForArrayOfValidatorStakeViewAndRpcValidatorError>, Error<()>>
Returns the current epoch validators ordered in the block producer order with repetition. This endpoint is solely used for bridge currently and is not intended for other external use cases.
Sends a POST request to /EXPERIMENTAL_validators_ordered
Sourcepub async fn block<'a>(
&'a self,
body: &'a JsonRpcRequestForBlock,
) -> Result<ResponseValue<JsonRpcResponseForRpcBlockResponseAndRpcBlockError>, Error<()>>
pub async fn block<'a>( &'a self, body: &'a JsonRpcRequestForBlock, ) -> Result<ResponseValue<JsonRpcResponseForRpcBlockResponseAndRpcBlockError>, Error<()>>
Returns block details for given height or hash
Sends a POST request to /block
Sourcepub async fn block_effects<'a>(
&'a self,
body: &'a JsonRpcRequestForBlockEffects,
) -> Result<ResponseValue<JsonRpcResponseForRpcStateChangesInBlockByTypeResponseAndRpcStateChangesError>, Error<()>>
pub async fn block_effects<'a>( &'a self, body: &'a JsonRpcRequestForBlockEffects, ) -> Result<ResponseValue<JsonRpcResponseForRpcStateChangesInBlockByTypeResponseAndRpcStateChangesError>, Error<()>>
Returns changes in block for given block height or hash over all transactions for all the types. Includes changes like account_touched, access_key_touched, data_touched, contract_code_touched.
Sends a POST request to /block_effects
Sourcepub async fn broadcast_tx_async<'a>(
&'a self,
body: &'a JsonRpcRequestForBroadcastTxAsync,
) -> Result<ResponseValue<JsonRpcResponseForCryptoHashAndRpcTransactionError>, Error<()>>
pub async fn broadcast_tx_async<'a>( &'a self, body: &'a JsonRpcRequestForBroadcastTxAsync, ) -> Result<ResponseValue<JsonRpcResponseForCryptoHashAndRpcTransactionError>, Error<()>>
[Deprecated] Sends a transaction and immediately returns transaction hash. Consider using send_tx instead.
Sends a POST request to /broadcast_tx_async
Sourcepub async fn broadcast_tx_commit<'a>(
&'a self,
body: &'a JsonRpcRequestForBroadcastTxCommit,
) -> Result<ResponseValue<JsonRpcResponseForRpcTransactionResponseAndRpcTransactionError>, Error<()>>
pub async fn broadcast_tx_commit<'a>( &'a self, body: &'a JsonRpcRequestForBroadcastTxCommit, ) -> Result<ResponseValue<JsonRpcResponseForRpcTransactionResponseAndRpcTransactionError>, Error<()>>
[Deprecated] Sends a transaction and waits until transaction is fully complete. (Has a 10 second timeout). Consider using send_tx instead.
Sends a POST request to /broadcast_tx_commit
Sourcepub async fn changes<'a>(
&'a self,
body: &'a JsonRpcRequestForChanges,
) -> Result<ResponseValue<JsonRpcResponseForRpcStateChangesInBlockResponseAndRpcStateChangesError>, Error<()>>
pub async fn changes<'a>( &'a self, body: &'a JsonRpcRequestForChanges, ) -> Result<ResponseValue<JsonRpcResponseForRpcStateChangesInBlockResponseAndRpcStateChangesError>, Error<()>>
Returns changes for a given account, contract or contract code for given block height or hash.
Sends a POST request to /changes
Sourcepub async fn chunk<'a>(
&'a self,
body: &'a JsonRpcRequestForChunk,
) -> Result<ResponseValue<JsonRpcResponseForRpcChunkResponseAndRpcChunkError>, Error<()>>
pub async fn chunk<'a>( &'a self, body: &'a JsonRpcRequestForChunk, ) -> Result<ResponseValue<JsonRpcResponseForRpcChunkResponseAndRpcChunkError>, Error<()>>
Returns details of a specific chunk. You can run a block details query to get a valid chunk hash.
Sends a POST request to /chunk
Sourcepub async fn client_config<'a>(
&'a self,
body: &'a JsonRpcRequestForClientConfig,
) -> Result<ResponseValue<JsonRpcResponseForRpcClientConfigResponseAndRpcClientConfigError>, Error<()>>
pub async fn client_config<'a>( &'a self, body: &'a JsonRpcRequestForClientConfig, ) -> Result<ResponseValue<JsonRpcResponseForRpcClientConfigResponseAndRpcClientConfigError>, Error<()>>
Queries client node configuration
Sends a POST request to /client_config
Sourcepub async fn gas_price<'a>(
&'a self,
body: &'a JsonRpcRequestForGasPrice,
) -> Result<ResponseValue<JsonRpcResponseForRpcGasPriceResponseAndRpcGasPriceError>, Error<()>>
pub async fn gas_price<'a>( &'a self, body: &'a JsonRpcRequestForGasPrice, ) -> Result<ResponseValue<JsonRpcResponseForRpcGasPriceResponseAndRpcGasPriceError>, Error<()>>
Returns gas price for a specific block_height or block_hash. Using [null] will return the most recent block’s gas price.
Sends a POST request to /gas_price
Sourcepub async fn genesis_config<'a>(
&'a self,
body: &'a JsonRpcRequestForGenesisConfig,
) -> Result<ResponseValue<JsonRpcResponseForGenesisConfigAndGenesisConfigError>, Error<()>>
pub async fn genesis_config<'a>( &'a self, body: &'a JsonRpcRequestForGenesisConfig, ) -> Result<ResponseValue<JsonRpcResponseForGenesisConfigAndGenesisConfigError>, Error<()>>
Get initial state and parameters for the genesis block
Sends a POST request to /genesis_config
Sourcepub async fn health<'a>(
&'a self,
body: &'a JsonRpcRequestForHealth,
) -> Result<ResponseValue<JsonRpcResponseForNullableRpcHealthResponseAndRpcStatusError>, Error<()>>
pub async fn health<'a>( &'a self, body: &'a JsonRpcRequestForHealth, ) -> Result<ResponseValue<JsonRpcResponseForNullableRpcHealthResponseAndRpcStatusError>, Error<()>>
Returns the current health status of the RPC node the client connects to.
Sends a POST request to /health
Sourcepub async fn light_client_proof<'a>(
&'a self,
body: &'a JsonRpcRequestForLightClientProof,
) -> Result<ResponseValue<JsonRpcResponseForRpcLightClientExecutionProofResponseAndRpcLightClientProofError>, Error<()>>
pub async fn light_client_proof<'a>( &'a self, body: &'a JsonRpcRequestForLightClientProof, ) -> Result<ResponseValue<JsonRpcResponseForRpcLightClientExecutionProofResponseAndRpcLightClientProofError>, Error<()>>
Returns the proofs for a transaction execution.
Sends a POST request to /light_client_proof
Sourcepub async fn maintenance_windows<'a>(
&'a self,
body: &'a JsonRpcRequestForMaintenanceWindows,
) -> Result<ResponseValue<JsonRpcResponseForArrayOfRangeOfUint64AndRpcMaintenanceWindowsError>, Error<()>>
pub async fn maintenance_windows<'a>( &'a self, body: &'a JsonRpcRequestForMaintenanceWindows, ) -> Result<ResponseValue<JsonRpcResponseForArrayOfRangeOfUint64AndRpcMaintenanceWindowsError>, Error<()>>
Returns the future windows for maintenance in current epoch for the specified account. In the maintenance windows, the node will not be block producer or chunk producer.
Sends a POST request to /maintenance_windows
Sourcepub async fn network_info<'a>(
&'a self,
body: &'a JsonRpcRequestForNetworkInfo,
) -> Result<ResponseValue<JsonRpcResponseForRpcNetworkInfoResponseAndRpcNetworkInfoError>, Error<()>>
pub async fn network_info<'a>( &'a self, body: &'a JsonRpcRequestForNetworkInfo, ) -> Result<ResponseValue<JsonRpcResponseForRpcNetworkInfoResponseAndRpcNetworkInfoError>, Error<()>>
Queries the current state of node network connections. This includes information about active peers, transmitted data, known producers, etc.
Sends a POST request to /network_info
Sourcepub async fn next_light_client_block<'a>(
&'a self,
body: &'a JsonRpcRequestForNextLightClientBlock,
) -> Result<ResponseValue<JsonRpcResponseForRpcLightClientNextBlockResponseAndRpcLightClientNextBlockError>, Error<()>>
pub async fn next_light_client_block<'a>( &'a self, body: &'a JsonRpcRequestForNextLightClientBlock, ) -> Result<ResponseValue<JsonRpcResponseForRpcLightClientNextBlockResponseAndRpcLightClientNextBlockError>, Error<()>>
Returns the next light client block.
Sends a POST request to /next_light_client_block
Sourcepub async fn query<'a>(
&'a self,
body: &'a JsonRpcRequestForQuery,
) -> Result<ResponseValue<JsonRpcResponseForRpcQueryResponseAndRpcQueryError>, Error<()>>
pub async fn query<'a>( &'a self, body: &'a JsonRpcRequestForQuery, ) -> Result<ResponseValue<JsonRpcResponseForRpcQueryResponseAndRpcQueryError>, Error<()>>
This module allows you to make generic requests to the network.
The RpcQueryRequest struct takes in a BlockReference and a QueryRequest.
The BlockReference enum allows you to specify a block by Finality, BlockId or SyncCheckpoint.
The QueryRequest enum provides multiple variants for performing the following actions:
- View an account’s details
- View a contract’s code
- View the state of an account
- View the
AccessKeyof an account - View the
AccessKeyListof an account - Call a function in a contract deployed on the network.
Sends a POST request to /query
Sourcepub async fn send_tx<'a>(
&'a self,
body: &'a JsonRpcRequestForSendTx,
) -> Result<ResponseValue<JsonRpcResponseForRpcTransactionResponseAndRpcTransactionError>, Error<()>>
pub async fn send_tx<'a>( &'a self, body: &'a JsonRpcRequestForSendTx, ) -> Result<ResponseValue<JsonRpcResponseForRpcTransactionResponseAndRpcTransactionError>, Error<()>>
Sends transaction. Returns the guaranteed execution status and the results the blockchain can provide at the moment.
Sends a POST request to /send_tx
Sourcepub async fn status<'a>(
&'a self,
body: &'a JsonRpcRequestForStatus,
) -> Result<ResponseValue<JsonRpcResponseForRpcStatusResponseAndRpcStatusError>, Error<()>>
pub async fn status<'a>( &'a self, body: &'a JsonRpcRequestForStatus, ) -> Result<ResponseValue<JsonRpcResponseForRpcStatusResponseAndRpcStatusError>, Error<()>>
Requests the status of the connected RPC node. This includes information about sync status, nearcore node version, protocol version, the current set of validators, etc.
Sends a POST request to /status
Sourcepub async fn tx<'a>(
&'a self,
body: &'a JsonRpcRequestForTx,
) -> Result<ResponseValue<JsonRpcResponseForRpcTransactionResponseAndRpcTransactionError>, Error<()>>
pub async fn tx<'a>( &'a self, body: &'a JsonRpcRequestForTx, ) -> Result<ResponseValue<JsonRpcResponseForRpcTransactionResponseAndRpcTransactionError>, Error<()>>
Queries status of a transaction by hash and returns the final transaction result.
Sends a POST request to /tx
Sourcepub async fn validators<'a>(
&'a self,
body: &'a JsonRpcRequestForValidators,
) -> Result<ResponseValue<JsonRpcResponseForRpcValidatorResponseAndRpcValidatorError>, Error<()>>
pub async fn validators<'a>( &'a self, body: &'a JsonRpcRequestForValidators, ) -> Result<ResponseValue<JsonRpcResponseForRpcValidatorResponseAndRpcValidatorError>, Error<()>>
Queries active validators on the network. Returns details and the state of validation on the blockchain.
Sends a POST request to /validators