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.
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)>
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>>
Get Some(FeeCalculator) associated with blockhash if it is still in
the BlockhashQueue, otherwise None` Read more
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.
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
