getGenesisHash
Returns the genesis hash of the cluster. The genesis hash uniquely identifies a Solana cluster (mainnet-beta, testnet, devnet) and is immutable once the cluster is initialized. This is commonly used to verify that a client is connected to the correct network, preventing accidental cross-network operations such as sending mainnet transactions to devnet.
Parameters
This method does not accept any parameters.
Response
Returns a single value:
| Field | Type | Description |
|---|---|---|
result | string | Base-58 encoded genesis hash |
Code Examples
cURL
1curl http://[IP_ADDRESS]:[PORT] -X POST -H "Content-Type: application/json" -d '{
2 "jsonrpc": "2.0",
3 "id": 1,
4 "method": "getGenesisHash",
5 "params": []
6}'TypeScript
1const response = await fetch("http://[IP_ADDRESS]:[PORT]", {
2 method: "POST",
3 headers: { "Content-Type": "application/json" },
4 body: JSON.stringify({
5 jsonrpc: "2.0",
6 id: 1,
7 method: "getGenesisHash",
8 params: []
9 }),
10});
11const { result } = await response.json();
12console.log("Genesis hash:", result);Python
1import requests
2
3response = requests.post("http://[IP_ADDRESS]:[PORT]", json={
4 "jsonrpc": "2.0",
5 "id": 1,
6 "method": "getGenesisHash",
7 "params": []
8})
9result = response.json()["result"]
10print(f"Genesis hash: {result}")Rust
1use reqwest::Client;
2use serde_json::json;
3
4#[tokio::main]
5async fn main() -> Result<(), Box<dyn std::error::Error>> {
6 let client = Client::new();
7 let res = client.post("http://[IP_ADDRESS]:[PORT]")
8 .json(&json!({
9 "jsonrpc": "2.0",
10 "id": 1,
11 "method": "getGenesisHash",
12 "params": []
13 }))
14 .send().await?
15 .text().await?;
16 println!("{}", res);
17 Ok(())
18}Example Response
1{
2 "jsonrpc": "2.0",
3 "result": "5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpKuc147dw2N9d",
4 "id": 1
5}