Connection
A connection to a fullnode JSON RPC endpoint
Constructor Summary
Public Constructor | ||
public |
constructor(endpoint: string, commitment: Commitment) Establish a JSON RPC connection |
Member Summary
Public Members | ||
public get |
The default commitment used for requests |
Method Summary
Public Methods | ||
public |
async confirmTransaction(signature: TransactionSignature, commitment: Commitment): Promise<boolean> Confirm the transaction identified by the specified signature |
|
public |
async confirmTransactionAndContext(signature: TransactionSignature, commitment: Commitment): Promise<RpcResponseAndContext<boolean>> Confirm the transaction identified by the specified signature, return with context |
|
public |
async getAccountInfo(publicKey: PublicKey, commitment: Commitment): Promise<AccountInfo|nullliteral> Fetch all the account info for the specified public key |
|
public |
async getAccountInfoAndContext(publicKey: PublicKey, commitment: Commitment): Promise<RpcResponseAndContext<AccountInfo|nullliteral>> Fetch all the account info for the specified public key, return with context |
|
public |
async getBalance(publicKey: PublicKey, commitment: Commitment): Promise<number> Fetch the balance for the specified public key |
|
public |
async getBalanceAndContext(publicKey: PublicKey, commitment: Commitment): Promise<RpcResponseAndContext<number>> Fetch the balance for the specified public key, return with context |
|
public |
async getClusterNodes(): Promise<Array<ContactInfo>> Return the list of nodes that are currently participating in the cluster |
|
public |
async getConfirmedBlock(slot: number): Promise<ConfirmedBlock> Fetch a list of Transactions and transaction statuses from the cluster for a confirmed block |
|
public |
async getEpochInfo(commitment: Commitment): Promise<GetEpochInfoRpcResult> Fetch the Epoch Info parameters |
|
public |
async getEpochSchedule(): Promise<GetEpochScheduleRpcResult> Fetch the Epoch Schedule parameters |
|
public |
async getInflation(commitment: Commitment): Promise<GetInflationRpcResult> Fetch the cluster Inflation parameters |
|
public |
async getMinimumBalanceForRentExemption(dataLength: number, commitment: Commitment): Promise<number> Fetch the minimum balance needed to exempt an account of |
|
public |
async getNonce(nonceAccount: PublicKey, commitment: Commitment): Promise<NonceAccount|nullliteral> Fetch the contents of a Nonce account from the cluster |
|
public |
async getNonceAndContext(nonceAccount: PublicKey, commitment: Commitment): Promise<RpcResponseAndContext<NonceAccount|nullliteral>> Fetch the contents of a Nonce account from the cluster, return with context |
|
public |
async getProgramAccounts(programId: PublicKey, commitment: Commitment): Promise<Array<{pubkey: PublicKey, account: AccountInfo}>>{pubkey:> Fetch all the accounts owned by the specified program id |
|
public |
async getRecentBlockhash(commitment: Commitment): Promise<{blockhash: Blockhash, feeCalculator: FeeCalculator}>{blockhash:> Fetch a recent blockhash from the cluster |
|
public |
async getRecentBlockhashAndContext(commitment: Commitment): Promise<RpcResponseAndContext<{blockhash: Blockhash, feeCalculator: FeeCalculator}>>{blockhash:> Fetch a recent blockhash from the cluster, return with context |
|
public |
async getSignatureStatus(signature: TransactionSignature, config: SignatureStatusConfig): Promise<RpcResponseAndContext<SignatureStatus|nullliteral>> Fetch the current status of a signature |
|
public |
async getSignatureStatuses(signatures: Array<TransactionSignature>, config: SignatureStatusConfig): Promise<RpcResponseAndContext<Array<SignatureStatus|nullliteral>>> Fetch the current statuses of a batch of signatures |
|
public |
async getSlot(commitment: Commitment): Promise<number> Fetch the current slot that the node is processing |
|
public |
async getSlotLeader(commitment: Commitment): Promise<string> Fetch the current slot leader of the cluster |
|
public |
async getTotalSupply(commitment: Commitment): Promise<number> Fetch the current total currency supply of the cluster in lamports |
|
public |
async getTransactionCount(commitment: Commitment): Promise<number> Fetch the current transaction count of the cluster |
|
public |
async getVersion(): Promise<Version> Fetch the node version |
|
public |
async getVoteAccounts(commitment: Commitment): Promise<VoteAccountStatus> Return the list of nodes that are currently participating in the cluster |
|
public |
onAccountChange(publicKey: PublicKey, callback: AccountChangeCallback): number Register a callback to be invoked whenever the specified account changes |
|
public |
onProgramAccountChange(programId: PublicKey, callback: ProgramAccountChangeCallback): number Register a callback to be invoked whenever accounts owned by the specified program change |
|
public |
onRootChange(callback: RootChangeCallback): number Register a callback to be invoked upon root changes |
|
public |
onSignature(signature: TransactionSignature, callback: SignatureResultCallback): number Register a callback to be invoked upon signature updates |
|
public |
onSlotChange(callback: SlotChangeCallback): number Register a callback to be invoked upon slot changes |
|
public |
async removeAccountChangeListener(id: number): Promise<void> Deregister an account notification callback |
|
public |
async removeProgramAccountChangeListener(id: number): Promise<void> Deregister an account notification callback |
|
public |
async removeRootChangeListener(id: number): Promise<void> Deregister a root notification callback |
|
public |
async removeSignatureListener(id: number): Promise<void> Deregister a signature notification callback |
|
public |
async removeSlotChangeListener(id: number): Promise<void> Deregister a slot notification callback |
|
public |
async requestAirdrop(to: PublicKey, amount: number, commitment: Commitment): Promise<TransactionSignature> Request an allocation of lamports to the specified account |
|
public |
async sendEncodedTransaction(encodedTransaction: string): Promise<TransactionSignature> Send a transaction that has already been signed, serialized into the wire format, and encoded as a base58 string |
|
public |
async sendRawTransaction(rawTransaction: Buffer | Uint8Array | Array<number>): Promise<TransactionSignature> Send a transaction that has already been signed and serialized into the wire format |
|
public |
async sendTransaction(transaction: Transaction, signers: ...Array<Account>): Promise<TransactionSignature> Sign and send a transaction |
Public Constructors
public constructor(endpoint: string, commitment: Commitment) source
Establish a JSON RPC connection
Params:
Name | Type | Attribute | Description |
endpoint | string | URL to the fullnode JSON RPC endpoint |
|
commitment | Commitment |
|
optional default commitment level |
Public Members
Public Methods
public async confirmTransaction(signature: TransactionSignature, commitment: Commitment): Promise<boolean> source
Confirm the transaction identified by the specified signature
Params:
Name | Type | Attribute | Description |
signature | TransactionSignature | ||
commitment | Commitment |
|
public async confirmTransactionAndContext(signature: TransactionSignature, commitment: Commitment): Promise<RpcResponseAndContext<boolean>> source
Confirm the transaction identified by the specified signature, return with context
Params:
Name | Type | Attribute | Description |
signature | TransactionSignature | ||
commitment | Commitment |
|
public async getAccountInfo(publicKey: PublicKey, commitment: Commitment): Promise<AccountInfo|nullliteral> source
Fetch all the account info for the specified public key
Params:
Name | Type | Attribute | Description |
publicKey | PublicKey | ||
commitment | Commitment |
|
public async getAccountInfoAndContext(publicKey: PublicKey, commitment: Commitment): Promise<RpcResponseAndContext<AccountInfo|nullliteral>> source
Fetch all the account info for the specified public key, return with context
Params:
Name | Type | Attribute | Description |
publicKey | PublicKey | ||
commitment | Commitment |
|
public async getBalance(publicKey: PublicKey, commitment: Commitment): Promise<number> source
Fetch the balance for the specified public key
Params:
Name | Type | Attribute | Description |
publicKey | PublicKey | ||
commitment | Commitment |
|
public async getBalanceAndContext(publicKey: PublicKey, commitment: Commitment): Promise<RpcResponseAndContext<number>> source
Fetch the balance for the specified public key, return with context
Params:
Name | Type | Attribute | Description |
publicKey | PublicKey | ||
commitment | Commitment |
|
public async getClusterNodes(): Promise<Array<ContactInfo>> source
Return the list of nodes that are currently participating in the cluster
public async getConfirmedBlock(slot: number): Promise<ConfirmedBlock> source
Fetch a list of Transactions and transaction statuses from the cluster for a confirmed block
Params:
Name | Type | Attribute | Description |
slot | number |
public async getEpochInfo(commitment: Commitment): Promise<GetEpochInfoRpcResult> source
Fetch the Epoch Info parameters
Params:
Name | Type | Attribute | Description |
commitment | Commitment |
|
public async getEpochSchedule(): Promise<GetEpochScheduleRpcResult> source
Fetch the Epoch Schedule parameters
public async getInflation(commitment: Commitment): Promise<GetInflationRpcResult> source
Fetch the cluster Inflation parameters
Params:
Name | Type | Attribute | Description |
commitment | Commitment |
|
public async getMinimumBalanceForRentExemption(dataLength: number, commitment: Commitment): Promise<number> source
Fetch the minimum balance needed to exempt an account of dataLength
size from rent
Params:
Name | Type | Attribute | Description |
dataLength | number | ||
commitment | Commitment |
|
public async getNonce(nonceAccount: PublicKey, commitment: Commitment): Promise<NonceAccount|nullliteral> source
Fetch the contents of a Nonce account from the cluster
Params:
Name | Type | Attribute | Description |
nonceAccount | PublicKey | ||
commitment | Commitment |
|
public async getNonceAndContext(nonceAccount: PublicKey, commitment: Commitment): Promise<RpcResponseAndContext<NonceAccount|nullliteral>> source
Fetch the contents of a Nonce account from the cluster, return with context
Params:
Name | Type | Attribute | Description |
nonceAccount | PublicKey | ||
commitment | Commitment |
|
public async getProgramAccounts(programId: PublicKey, commitment: Commitment): Promise<Array<{pubkey: PublicKey, account: AccountInfo}>>{pubkey:> source
Fetch all the accounts owned by the specified program id
Params:
Name | Type | Attribute | Description |
programId | PublicKey | ||
commitment | Commitment |
|
public async getRecentBlockhash(commitment: Commitment): Promise<{blockhash: Blockhash, feeCalculator: FeeCalculator}>{blockhash:> source
Fetch a recent blockhash from the cluster
Params:
Name | Type | Attribute | Description |
commitment | Commitment |
|
public async getRecentBlockhashAndContext(commitment: Commitment): Promise<RpcResponseAndContext<{blockhash: Blockhash, feeCalculator: FeeCalculator}>>{blockhash:> source
Fetch a recent blockhash from the cluster, return with context
Params:
Name | Type | Attribute | Description |
commitment | Commitment |
|
Return:
Promise<RpcResponseAndContext<{blockhash: Blockhash, feeCalculator: FeeCalculator}>>{blockhash:> |
public async getSignatureStatus(signature: TransactionSignature, config: SignatureStatusConfig): Promise<RpcResponseAndContext<SignatureStatus|nullliteral>> source
Fetch the current status of a signature
Params:
Name | Type | Attribute | Description |
signature | TransactionSignature | ||
config | SignatureStatusConfig |
|
public async getSignatureStatuses(signatures: Array<TransactionSignature>, config: SignatureStatusConfig): Promise<RpcResponseAndContext<Array<SignatureStatus|nullliteral>>> source
Fetch the current statuses of a batch of signatures
Params:
Name | Type | Attribute | Description |
signatures | Array<TransactionSignature> | ||
config | SignatureStatusConfig |
|
public async getSlot(commitment: Commitment): Promise<number> source
Fetch the current slot that the node is processing
Params:
Name | Type | Attribute | Description |
commitment | Commitment |
|
public async getSlotLeader(commitment: Commitment): Promise<string> source
Fetch the current slot leader of the cluster
Params:
Name | Type | Attribute | Description |
commitment | Commitment |
|
public async getTotalSupply(commitment: Commitment): Promise<number> source
Fetch the current total currency supply of the cluster in lamports
Params:
Name | Type | Attribute | Description |
commitment | Commitment |
|
public async getTransactionCount(commitment: Commitment): Promise<number> source
Fetch the current transaction count of the cluster
Params:
Name | Type | Attribute | Description |
commitment | Commitment |
|
public async getVoteAccounts(commitment: Commitment): Promise<VoteAccountStatus> source
Return the list of nodes that are currently participating in the cluster
Params:
Name | Type | Attribute | Description |
commitment | Commitment |
|
public onAccountChange(publicKey: PublicKey, callback: AccountChangeCallback): number source
Register a callback to be invoked whenever the specified account changes
Params:
Name | Type | Attribute | Description |
publicKey | PublicKey | Public key of the account to monitor |
|
callback | AccountChangeCallback | Function to invoke whenever the account is changed |
public onProgramAccountChange(programId: PublicKey, callback: ProgramAccountChangeCallback): number source
Register a callback to be invoked whenever accounts owned by the specified program change
Params:
Name | Type | Attribute | Description |
programId | PublicKey | Public key of the program to monitor |
|
callback | ProgramAccountChangeCallback | Function to invoke whenever the account is changed |
public onRootChange(callback: RootChangeCallback): number source
Register a callback to be invoked upon root changes
Params:
Name | Type | Attribute | Description |
callback | RootChangeCallback | Function to invoke whenever the root changes |
public onSignature(signature: TransactionSignature, callback: SignatureResultCallback): number source
Register a callback to be invoked upon signature updates
Params:
Name | Type | Attribute | Description |
signature | TransactionSignature | Transaction signature string in base 58 |
|
callback | SignatureResultCallback | Function to invoke on signature notifications |
public onSlotChange(callback: SlotChangeCallback): number source
Register a callback to be invoked upon slot changes
Params:
Name | Type | Attribute | Description |
callback | SlotChangeCallback | Function to invoke whenever the slot changes |
public async removeAccountChangeListener(id: number): Promise<void> source
Deregister an account notification callback
Params:
Name | Type | Attribute | Description |
id | number | subscription id to deregister |
public async removeProgramAccountChangeListener(id: number): Promise<void> source
Deregister an account notification callback
Params:
Name | Type | Attribute | Description |
id | number | subscription id to deregister |
public async removeRootChangeListener(id: number): Promise<void> source
Deregister a root notification callback
Params:
Name | Type | Attribute | Description |
id | number | subscription id to deregister |
public async removeSignatureListener(id: number): Promise<void> source
Deregister a signature notification callback
Params:
Name | Type | Attribute | Description |
id | number | subscription id to deregister |
public async removeSlotChangeListener(id: number): Promise<void> source
Deregister a slot notification callback
Params:
Name | Type | Attribute | Description |
id | number | subscription id to deregister |
public async requestAirdrop(to: PublicKey, amount: number, commitment: Commitment): Promise<TransactionSignature> source
Request an allocation of lamports to the specified account
Params:
Name | Type | Attribute | Description |
to | PublicKey | ||
amount | number | ||
commitment | Commitment |
|
public async sendEncodedTransaction(encodedTransaction: string): Promise<TransactionSignature> source
Send a transaction that has already been signed, serialized into the wire format, and encoded as a base58 string
Params:
Name | Type | Attribute | Description |
encodedTransaction | string |
public async sendRawTransaction(rawTransaction: Buffer | Uint8Array | Array<number>): Promise<TransactionSignature> source
Send a transaction that has already been signed and serialized into the wire format
Params:
Name | Type | Attribute | Description |
rawTransaction | Buffer | Uint8Array | Array<number> |
public async sendTransaction(transaction: Transaction, signers: ...Array<Account>): Promise<TransactionSignature> source
Sign and send a transaction
Params:
Name | Type | Attribute | Description |
transaction | Transaction | ||
signers | ...Array<Account> |