Package Exports
- @solana/rpc-api
Readme
@solana/rpc-api
This package contains types that describe the methods of the Solana JSON RPC API, and utilities for creating a RpcApi implementation with sensible defaults. It can be used standalone, but it is also exported as part of the Solana JavaScript SDK @solana/web3.js@experimental.
Each RPC method is described in terms of a TypeScript interface of the following form:
interface ExampleApi extends RpcApiMethods {
    getSomething(address: Address): Something;
}A RpcApi that implements ExampleApi will ultimately expose its defined methods on any Rpc that uses it.
const rpc: Rpc<ExampleApi> = createExampleRpc(/* ... */);
const something: Something = await rpc.getSomething(address('95DpK3y3GF7U8s1k4EvZ7xqyeCkhsHeZaE97iZpHUGMN')).send();Types
SolanaRpcApi{Devnet|Testnet|Mainnet}
These types represent the RPC methods available on a specific Solana cluster.
For instance, the test clusters support the RequestAirdropApi while mainnet does not.
Functions
createSolanaRpcApi(config)
Creates a RpcApi implementation of the Solana JSON RPC API with some default behaviours.
The default behaviours include:
- A transform that converts bigintinputs tonumberfor compatiblity with version 1.0 of the Solana JSON RPC.
- A transform that calls the config's onIntegerOverflowhandler whenever abigintinput would overflow a JavaScript IEEE 754 number. See this GitHub issue for more information.
- A transform that applies a default commitment wherever not specified
Arguments
A config object with the following properties:
- defaultCommitment: An optional default- Commitmentvalue. Given an RPC method that takes- commitmentas a parameter, this value will be used when the caller does not supply one.
- onIntegerOverflow(methodName, keyPath, value): void: An optional function that will be called whenever a- bigintinput exceeds that which can be expressed using JavaScript numbers. This is used in the default- SolanaRpcApito throw an exception rather than to allow truncated values to propagate through a program.