caip | title | author | discussions-to | status | type | created | updated | requires | superseded-by |
---|---|---|---|---|---|---|---|---|---|
30 |
Blockchain Reference for the Solana Namespace |
Antoine Herzog (@antoineherzog), Josh Hundley (@oJshua) |
Superseded |
Standard |
2021-08-03 |
2021-08-03 |
2 |
This document is about the details of the Solana namespace and reference for CAIP-2.
In CAIP-2 a general blockchain identification scheme is defined. This is the implementation of CAIP-2 for Solana.
See CAIP-2.
The namespace "solana" refers to the Solana open-source blockchain platform.
The definition for this namespace will use the genesisHash
as an indentifier for different Solana chains.
The method for calculating the chain ID is as follows with pseudo-code:
truncate(genesisHash, 32)
To resolve a blockchain reference for the Solana namespace, make a JSON-RPC request to the blockchain node with method getGenesisHash
, for example:
// Request
{
"id": 1,
"jsonrpc": "2.0",
"method": "getGenesisHash"
}
// Response
{
"id": 1,
"jsonrpc": "2.0",
"result": "4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZAMdL4VZHirAn"
}
The response will return as a value for the result a hash for the block with height 0 that should be truncated to its first 32 characters to be CAIP-30 compatible.
Blockchains in the "solana" namespace are identified by their chain ID as mentioned in the Reference Definition Section.
Not applicable
This is a list of manually composed examples
# Solana Mainnet
solana:4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZ
# Solana Devnet
solana:8E9rvCKLFQia2Y35HXjjpWzj8weVo44K
Copyright and related rights waived via CC0.