Documentation Index
Fetch the complete documentation index at: https://docs.near.org/llms.txt
Use this file to discover all available pages before exploring further.
The RPC API enables you to retrieve the current genesis and protocol configuration.
Quick Reference
| Method | Parameters | Description |
|---|
genesis_config | none | Returns current genesis configuration |
EXPERIMENTAL_protocol_config | finality OR block_id | Returns protocol configuration for latest or specific block |
Genesis Config
Returns current genesis configuration.
- method:
genesis_config
- params: none
{
"jsonrpc": "2.0",
"id": "dontcare",
"method": "genesis_config"
}
import { JsonRpcProvider } from "near-api-js";
const provider = new JsonRpcProvider({
url: "https://test.rpc.fastnear.com",
});
const response = await provider.experimental_protocolConfig({
sync_checkpoint: 'genesis',
});
http POST https://rpc.testnet.near.org \
jsonrpc=2.0 \
id=dontcare \
method=genesis_config
{
"jsonrpc": "2.0",
"result": {
"chain_id": "testnet",
"epoch_length": 43200,
"gas_limit": 1000000000000000,
"genesis_height": 42376888,
"genesis_time": "2020-07-31T03:39:42.911378Z",
"min_gas_price": "5000",
"num_block_producer_seats": 200,
"protocol_version": 29,
"total_supply": "2089646653180081825096998107194444"
},
"id": "dontcare"
}
Protocol Config
Returns most recent protocol configuration or a specific queried block. Useful for finding current storage and transaction costs.
- method:
EXPERIMENTAL_protocol_config
- params:
finality OR block_id
{
"jsonrpc": "2.0",
"id": "dontcare",
"method": "EXPERIMENTAL_protocol_config",
"params": {
"finality": "final"
}
}
import { JsonRpcProvider } from "near-api-js";
const provider = new JsonRpcProvider({
url: "https://test.rpc.fastnear.com",
});
const response = await provider.experimental_protocolConfig({
finality: "final"
});
http POST https://rpc.testnet.near.org \
jsonrpc=2.0 \
id=dontcare \
method=EXPERIMENTAL_protocol_config \
params:='{"finality": "final"}'
{
"jsonrpc": "2.0",
"result": {
"chain_id": "testnet",
"epoch_length": 43200,
"gas_limit": 1000000000000000,
"protocol_version": 73,
"runtime_config": {
"storage_amount_per_byte": "10000000000000000000",
"transaction_costs": {
"action_receipt_creation_config": {
"execution": 108059500000,
"send_not_sir": 108059500000,
"send_sir": 108059500000
}
}
}
},
"id": "dontcare"
}
Best Practices
- Use
finality: "final" for most recent confirmed protocol configuration
- Use specific
block_id when you need protocol config for a particular block
- Cache protocol configuration results as they change infrequently
- Use the protocol config to calculate current storage and transaction costs