getLeaderSchedule - Solana
Example code for the getLeaderSchedule JSON-RPC method. Complete guide on how to use the getLeaderSchedule JSON-RPC method in the GetBlock Web3 documentation.
This method returns the leader schedule for an epoch, mapping each validator identity to the slot indices it is assigned to lead. Slot indices are relative to the first slot of the epoch.
Parameters
slot
number
No
Any slot within the target epoch. Defaults to the current epoch
config
object
No
Configuration object controlling commitment and identity filter
Config Object
commitment
string
No
Commitment level: processed, confirmed, or finalized. Defaults to finalized
identity
string
No
Return results for a single validator identity only
Request
curl --location --request POST 'https://shared.eu-central-1.getblock.io/<ACCESS-TOKEN>/' \
--header 'Content-Type: application/json' \
--data-raw '{
"jsonrpc": "2.0",
"method": "getLeaderSchedule",
"params": [397234561, {"identity": "dv1ZAGvdsz5hHLwWXsVnM94hWf1pjbKVau1QVkaMJ92"}],
"id": "getblock.io"
}'const { Connection } = require('@solana/web3.js');
const connection = new Connection('https://shared.eu-central-1.getblock.io/<ACCESS-TOKEN>/', 'confirmed');
const schedule = await connection.getLeaderSchedule();
console.log(Object.keys(schedule).length);import requests
response = requests.post(
'https://shared.eu-central-1.getblock.io/<ACCESS-TOKEN>/',
headers={'Content-Type': 'application/json'},
json={
'jsonrpc': '2.0',
'method': 'getLeaderSchedule',
'params': [397234561, {"identity": "dv1ZAGvdsz5hHLwWXsVnM94hWf1pjbKVau1QVkaMJ92"}],
'id': 'getblock.io'
}
)
print(response.json()['result'])Response
Response Parameters
jsonrpc
string
JSON-RPC protocol version ("2.0")
id
string
Request identifier matching the request
result
object
null
Use Cases
Leader-Aware Sending: Forward transactions to the upcoming leader's TPU to cut latency
Slot Assignment: Show a validator operator when its next leader slots occur
Skip Attribution: Match skipped slots to the identity that was scheduled to lead
Stake Distribution: Compare assigned slot counts as a proxy for stake weight
Error Handling
-32602
Invalid params
Slot is outside the range of epochs the node can schedule
-32603
Internal error
Node failed to compute the leader schedule for the epoch
-32005
Node is unhealthy
The node has fallen behind the cluster tip
Last updated
Was this helpful?