A connection to a fullnode JSON RPC endpoint

Constructors

Properties

Accessors

Methods

_buildArgs confirmTransaction getAccountInfo getAccountInfoAndContext getAddressLookupTable getBalance getBalanceAndContext getBlock getBlockProduction getBlocks getBlockSignatures getBlockTime getClusterNodes getConfirmedBlock getConfirmedBlockSignatures getConfirmedSignaturesForAddress getConfirmedSignaturesForAddress2 getConfirmedTransaction getEpochInfo getEpochSchedule getFeeCalculatorForBlockhash getFeeForMessage getFirstAvailableBlock getGenesisHash getInflationGovernor getInflationRate getInflationReward getLargestAccounts getLatestBlockhash getLatestBlockhashAndContext getLeaderSchedule getMinimumBalanceForRentExemption getMinimumLedgerSlot getMultipleAccountsInfo getMultipleAccountsInfoAndContext getMultipleParsedAccounts getNonce getNonceAndContext getParsedAccountInfo getParsedBlock getParsedConfirmedTransaction getParsedConfirmedTransactions getParsedProgramAccounts getParsedTokenAccountsByOwner getParsedTransaction getParsedTransactions getProgramAccounts getRecentBlockhash getRecentBlockhashAndContext getRecentPerformanceSamples getRecentPrioritizationFees getSignaturesForAddress getSignatureStatus getSignatureStatuses getSlot getSlotLeader getSlotLeaders getStakeActivation getStakeMinimumDelegation getSupply getTokenAccountBalance getTokenAccountsByOwner getTokenLargestAccounts getTokenSupply getTotalSupply getTransaction getTransactionCount getTransactions getVersion getVoteAccounts isBlockhashValid onAccountChange onLogs onProgramAccountChange onRootChange onSignature onSignatureWithOptions onSlotChange onSlotUpdate removeAccountChangeListener removeOnLogsListener removeProgramAccountChangeListener removeRootChangeListener removeSignatureListener removeSlotChangeListener removeSlotUpdateListener requestAirdrop sendEncodedTransaction sendRawTransaction sendTransaction simulateTransaction

Constructors

  • Establish a JSON RPC connection

    Parameters

    • endpoint: string

      URL to the fullnode JSON RPC endpoint

    • OptionalcommitmentOrConfig: Commitment | ConnectionConfig

      optional default commitment level or optional ConnectionConfig configuration object

    Returns Connection

Properties

getBlockHeight: ((commitmentOrConfig?: Commitment | GetBlockHeightConfig) => Promise<number>) = ...

Accessors

Methods

  • Parameters

    • args: any[]
    • Optionaloverride: Commitment
    • Optionalencoding: "base64" | "jsonParsed"
    • Optionalextra: any

    Returns any[]

  • Parameters

    Returns Promise<RpcResponseAndContext<Readonly<{
        byIdentity: Readonly<Record<string, readonly number[]>>;
        range: Readonly<{
            firstSlot: number;
            lastSlot: number;
        }>;
    }>>>

  • Fetch confirmed blocks between two slots

    Parameters

    • startSlot: number
    • OptionalendSlot: number
    • Optionalcommitment: Finality

    Returns Promise<number[]>

  • Fetch the estimated production time of a block

    Parameters

    • slot: number

    Returns Promise<null | number>

  • Fetch a list of Transactions and transaction statuses from the cluster for a confirmed block.

    Parameters

    • slot: number
    • Optionalcommitment: Finality

    Returns Promise<ConfirmedBlock>

    Deprecated since RPC v1.7.0. Please use getBlock instead.

  • Fetch a list of all the confirmed signatures for transactions involving an address within a specified slot range. Max range allowed is 10,000 slots.

    Parameters

    • address: PublicKey

      queried address

    • startSlot: number

      start slot, inclusive

    • endSlot: number

      end slot, inclusive

    Returns Promise<string[]>

    Deprecated since RPC v1.3. Please use getConfirmedSignaturesForAddress2 instead.

  • Fetch the slot of the lowest confirmed block that has not been purged from the ledger

    Returns Promise<number>

  • Fetch the genesis hash

    Returns Promise<string>

  • Fetch the latest blockhash from the cluster

    Parameters

    Returns Promise<Readonly<{
        blockhash: string;
        lastValidBlockHeight: number;
    }>>

  • Fetch the minimum balance needed to exempt an account of dataLength size from rent

    Parameters

    Returns Promise<number>

  • Fetch the lowest slot that the node has information about in its ledger. This value may increase over time if the node is configured to purge older ledger data

    Returns Promise<number>

  • Fetch a recent blockhash from the cluster

    Parameters

    Returns Promise<{
        blockhash: string;
        feeCalculator: FeeCalculator;
    }>

    Deprecated since RPC v1.8.0. Please use getLatestBlockhash instead.

  • Fetch limit number of slot leaders starting from startSlot

    Parameters

    • startSlot: number

      fetch slot leaders starting from this slot

    • limit: number

      number of slot leaders to return

    Returns Promise<PublicKey[]>

  • Fetch the current total currency supply of the cluster in lamports

    Parameters

    Returns Promise<number>

    Deprecated since RPC v1.2.8. Please use getSupply instead.

  • Register a callback to be invoked whenever the specified account changes

    Parameters

    • publicKey: PublicKey

      Public key of the account to monitor

    • callback: AccountChangeCallback

      Function to invoke whenever the account is changed

    • Optionalconfig: Readonly<{
          commitment?: Commitment;
          encoding?:
              | "base64"
              | "base58"
              | "base64+zstd"
              | "jsonParsed";
      }>

    Returns number

    subscription id

  • Parameters

    Returns number

    Instead, pass in an AccountSubscriptionConfig

  • Register a callback to be invoked upon root changes

    Parameters

    Returns number

    subscription id

  • Register a callback to be invoked upon signature updates

    Parameters

    • signature: string

      Transaction signature string in base 58

    • callback: SignatureResultCallback

      Function to invoke on signature notifications

    • Optionalcommitment: Commitment

      Specify the commitment level signature must reach before notification

    Returns number

    subscription id

  • Register a callback to be invoked when a transaction is received and/or processed.

    Parameters

    • signature: string

      Transaction signature string in base 58

    • callback: SignatureSubscriptionCallback

      Function to invoke on signature notifications

    • Optionaloptions: SignatureSubscriptionOptions

      Enable received notifications and set the commitment level that signature must reach before notification

    Returns number

    subscription id

  • Register a callback to be invoked upon slot changes

    Parameters

    Returns number

    subscription id

  • Register a callback to be invoked upon slot updates. SlotUpdate's may be useful to track live progress of a cluster.

    Parameters

    Returns number

    subscription id

  • Deregister an account notification callback

    Parameters

    • clientSubscriptionId: number

      client subscription id to deregister

    Returns Promise<void>

  • Deregister a logs callback.

    Parameters

    • clientSubscriptionId: number

      client subscription id to deregister.

    Returns Promise<void>

  • Deregister an account notification callback

    Parameters

    • clientSubscriptionId: number

      client subscription id to deregister

    Returns Promise<void>

  • Deregister a root notification callback

    Parameters

    • clientSubscriptionId: number

      client subscription id to deregister

    Returns Promise<void>

  • Deregister a signature notification callback

    Parameters

    • clientSubscriptionId: number

      client subscription id to deregister

    Returns Promise<void>

  • Deregister a slot notification callback

    Parameters

    • clientSubscriptionId: number

      client subscription id to deregister

    Returns Promise<void>

  • Deregister a slot update notification callback

    Parameters

    • clientSubscriptionId: number

      client subscription id to deregister

    Returns Promise<void>

  • Request an allocation of lamports to the specified address

    import { Connection, PublicKey, LAMPORTS_PER_SOL } from "@solana/web3.js";

    (async () => {
    const connection = new Connection("https://api.testnet.solana.com", "confirmed");
    const myAddress = new PublicKey("2nr1bHFT86W9tGnyvmYW4vcHKsQB3sVQfnddasz4kExM");
    const signature = await connection.requestAirdrop(myAddress, LAMPORTS_PER_SOL);
    await connection.confirmTransaction(signature);
    })();

    Parameters

    Returns Promise<string>

  • Send a transaction that has already been signed, serialized into the wire format, and encoded as a base64 string

    Parameters

    Returns Promise<string>

  • Send a transaction that has already been signed and serialized into the wire format

    Parameters

    • rawTransaction: number[] | Uint8Array | Buffer
    • Optionaloptions: SendOptions

    Returns Promise<string>