Struct solana_client::thin_client::ThinClient [−][src]
pub struct ThinClient { /* fields omitted */ }
Expand description
An object for querying and sending transactions to the network.
Implementations
pub fn new(
rpc_addr: SocketAddr,
tpu_addr: SocketAddr,
transactions_socket: UdpSocket
) -> Self
pub fn new(
rpc_addr: SocketAddr,
tpu_addr: SocketAddr,
transactions_socket: UdpSocket
) -> Self
Create a new ThinClient that will interface with the Rpc at rpc_addr
using TCP
and the Tpu at tpu_addr
over transactions_socket
using UDP.
pub fn new_socket_with_timeout(
rpc_addr: SocketAddr,
tpu_addr: SocketAddr,
transactions_socket: UdpSocket,
timeout: Duration
) -> Self
pub fn new_from_addrs(
rpc_addrs: Vec<SocketAddr>,
tpu_addrs: Vec<SocketAddr>,
transactions_socket: UdpSocket
) -> Self
pub fn retry_transfer_until_confirmed(
&self,
keypair: &Keypair,
transaction: &mut Transaction,
tries: usize,
min_confirmed_blocks: usize
) -> TransportResult<Signature>
pub fn retry_transfer_until_confirmed(
&self,
keypair: &Keypair,
transaction: &mut Transaction,
tries: usize,
min_confirmed_blocks: usize
) -> TransportResult<Signature>
Retry a sending a signed Transaction to the server for processing.
pub fn retry_transfer(
&self,
keypair: &Keypair,
transaction: &mut Transaction,
tries: usize
) -> TransportResult<Signature>
pub fn retry_transfer(
&self,
keypair: &Keypair,
transaction: &mut Transaction,
tries: usize
) -> TransportResult<Signature>
Retry sending a signed Transaction with one signing Keypair to the server for processing.
pub fn send_and_confirm_transaction<T: Signers>(
&self,
keypairs: &T,
transaction: &mut Transaction,
tries: usize,
pending_confirmations: usize
) -> TransportResult<Signature>
pub fn send_and_confirm_transaction<T: Signers>(
&self,
keypairs: &T,
transaction: &mut Transaction,
tries: usize,
pending_confirmations: usize
) -> TransportResult<Signature>
Retry sending a signed Transaction to the server for processing
pub fn poll_get_balance_with_commitment(
&self,
pubkey: &Pubkey,
commitment_config: CommitmentConfig
) -> TransportResult<u64>
pub fn get_program_accounts_with_config(
&self,
pubkey: &Pubkey,
config: RpcProgramAccountsConfig
) -> TransportResult<Vec<(Pubkey, Account)>>
pub fn wait_for_balance_with_commitment(
&self,
pubkey: &Pubkey,
expected_balance: Option<u64>,
commitment_config: CommitmentConfig
) -> Option<u64>
pub fn poll_for_signature_with_commitment(
&self,
signature: &Signature,
commitment_config: CommitmentConfig
) -> TransportResult<()>
pub fn get_num_blocks_since_signature_confirmation(
&mut self,
sig: &Signature
) -> TransportResult<usize>
Trait Implementations
Send a signed transaction, but don’t wait to see if the server accepted it.
fn async_send_message<T: Signers>(
&self,
keypairs: &T,
message: Message,
recent_blockhash: Hash
) -> TransportResult<Signature>
fn async_send_message<T: Signers>(
&self,
keypairs: &T,
message: Message,
recent_blockhash: Hash
) -> TransportResult<Signature>
Create a transaction from the given message, and send it to the server, but don’t wait for to see if the server accepted it. Read more
fn async_send_instruction(
&self,
keypair: &Keypair,
instruction: Instruction,
recent_blockhash: Hash
) -> TransportResult<Signature>
fn async_send_instruction(
&self,
keypair: &Keypair,
instruction: Instruction,
recent_blockhash: Hash
) -> TransportResult<Signature>
Create a transaction from a single instruction that only requires a single signer. Then send it to the server, but don’t wait for a reply. Read more
fn async_transfer(
&self,
lamports: u64,
keypair: &Keypair,
pubkey: &Pubkey,
recent_blockhash: Hash
) -> TransportResult<Signature>
fn async_transfer(
&self,
lamports: u64,
keypair: &Keypair,
pubkey: &Pubkey,
recent_blockhash: Hash
) -> TransportResult<Signature>
Attempt to transfer lamports from keypair
to pubkey
, but don’t wait to confirm.
fn poll_for_signature_confirmation(
&self,
signature: &Signature,
min_confirmed_blocks: usize
) -> TransportResult<usize>
fn poll_for_signature_confirmation(
&self,
signature: &Signature,
min_confirmed_blocks: usize
) -> TransportResult<usize>
Poll the server until the signature has been confirmed by at least min_confirmed_blocks
fn send_and_confirm_message<T: Signers>(
&self,
keypairs: &T,
message: Message
) -> TransportResult<Signature>
fn send_and_confirm_message<T: Signers>(
&self,
keypairs: &T,
message: Message
) -> TransportResult<Signature>
Create a transaction from the given message, and send it to the server, retrying as-needed. Read more
fn send_and_confirm_instruction(
&self,
keypair: &Keypair,
instruction: Instruction
) -> TransportResult<Signature>
fn send_and_confirm_instruction(
&self,
keypair: &Keypair,
instruction: Instruction
) -> TransportResult<Signature>
Create a transaction from a single instruction that only requires a single signer. Then send it to the server, retrying as-needed. Read more
fn transfer_and_confirm(
&self,
lamports: u64,
keypair: &Keypair,
pubkey: &Pubkey
) -> TransportResult<Signature>
fn transfer_and_confirm(
&self,
lamports: u64,
keypair: &Keypair,
pubkey: &Pubkey
) -> TransportResult<Signature>
Transfer lamports from keypair
to pubkey
, retrying until the
transfer completes or produces and error. Read more
Get an account or None if not found.
Get an account or None if not found.
fn get_account_with_commitment(
&self,
pubkey: &Pubkey,
commitment_config: CommitmentConfig
) -> TransportResult<Option<Account>>
fn get_account_with_commitment(
&self,
pubkey: &Pubkey,
commitment_config: CommitmentConfig
) -> TransportResult<Option<Account>>
Get an account or None if not found. Uses explicit commitment configuration.
Get account balance or 0 if not found.
fn get_balance_with_commitment(
&self,
pubkey: &Pubkey,
commitment_config: CommitmentConfig
) -> TransportResult<u64>
fn get_balance_with_commitment(
&self,
pubkey: &Pubkey,
commitment_config: CommitmentConfig
) -> TransportResult<u64>
Get account balance or 0 if not found. Uses explicit commitment configuration.
Please use get_latest_blockhash
instead
Get recent blockhash
fn get_recent_blockhash_with_commitment(
&self,
commitment_config: CommitmentConfig
) -> TransportResult<(Hash, FeeCalculator, Slot)>
fn get_recent_blockhash_with_commitment(
&self,
commitment_config: CommitmentConfig
) -> TransportResult<(Hash, FeeCalculator, Slot)>
Please use get_latest_blockhash_with_commitment
and get_latest_blockhash_with_commitment
instead
Get recent blockhash. Uses explicit commitment configuration.
fn get_fee_calculator_for_blockhash(
&self,
blockhash: &Hash
) -> TransportResult<Option<FeeCalculator>>
fn get_fee_calculator_for_blockhash(
&self,
blockhash: &Hash
) -> TransportResult<Option<FeeCalculator>>
Please use get_fee_for_message
or is_blockhash_valid
instead
Get Some(FeeCalculator)
associated with blockhash
if it is still in
the BlockhashQueue, otherwise
None` Read more
Please do not use, will no longer be available in the future
Get recent fee rate governor
Get signature status.
fn get_signature_status_with_commitment(
&self,
signature: &Signature,
commitment_config: CommitmentConfig
) -> TransportResult<Option<Result<()>>>
fn get_signature_status_with_commitment(
&self,
signature: &Signature,
commitment_config: CommitmentConfig
) -> TransportResult<Option<Result<()>>>
Get signature status. Uses explicit commitment configuration.
Get last known slot
fn get_slot_with_commitment(
&self,
commitment_config: CommitmentConfig
) -> TransportResult<u64>
fn get_slot_with_commitment(
&self,
commitment_config: CommitmentConfig
) -> TransportResult<u64>
Get last known slot. Uses explicit commitment configuration.
Get transaction count
fn get_transaction_count_with_commitment(
&self,
commitment_config: CommitmentConfig
) -> TransportResult<u64>
fn get_transaction_count_with_commitment(
&self,
commitment_config: CommitmentConfig
) -> TransportResult<u64>
Get transaction count. Uses explicit commitment configuration.
Poll to confirm a transaction.
Please do not use, will no longer be available in the future
Get last known blockhash
fn get_latest_blockhash_with_commitment(
&self,
commitment_config: CommitmentConfig
) -> TransportResult<(Hash, u64)>
fn get_latest_blockhash_with_commitment(
&self,
commitment_config: CommitmentConfig
) -> TransportResult<(Hash, u64)>
Get latest blockhash with last valid block height. Uses explicit commitment configuration.
fn is_blockhash_valid(
&self,
blockhash: &Hash,
commitment_config: CommitmentConfig
) -> TransportResult<bool>
fn is_blockhash_valid(
&self,
blockhash: &Hash,
commitment_config: CommitmentConfig
) -> TransportResult<bool>
Check if the blockhash is valid
Calculate the fee for a Message
Auto Trait Implementations
impl !RefUnwindSafe for ThinClient
impl Send for ThinClient
impl Sync for ThinClient
impl Unpin for ThinClient
impl !UnwindSafe for ThinClient
Blanket Implementations
pub default fn example() -> T
Mutably borrows from an owned value. Read more
pub fn vzip(self) -> V
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more