Since GateChain EVM is largely compatible with Ethereum, most content in this documentation originates from contributions to the Ethereum EVM documentation.
JSON-RPC Methods
Method | Namespace | Implemented | Notes |
---|---|---|---|
web3_clientVersion | Web3 | ✔ | |
web3_sha3 | Web3 | ✔ | |
net_version | Net | ✔ | |
eth_protocolVersion | Eth | ✔ | |
eth_syncing | Eth | ✔ | |
eth_gasPrice | Eth | ✔ | |
eth_accounts | Eth | ✔ | |
eth_blockNumber | Eth | ✔ | |
eth_getBalance | Eth | ✔ | |
eth_getStorageAt | Eth | ✔ | |
eth_getTransactionCount | Eth | ✔ | |
eth_getBlockTransactionCountByNumber | Eth | ✔ | |
eth_getBlockTransactionCountByHash | Eth | ✔ | |
eth_getCode | Eth | ✔ | |
eth_sign | Eth | ✔ | |
eth_sendTransaction | Eth | ✔ | |
eth_sendRawTransaction | Eth | ✔ | |
eth_call | Eth | ✔ | |
eth_estimateGas | Eth | ✔ | |
eth_getBlockByNumber | Eth | ✔ | |
eth_getBlockByHash | Eth | ✔ | |
eth_getTransactionByHash | Eth | ✔ | |
eth_getTransactionByBlockHashAndIndex | Eth | ✔ | |
eth_getTransactionReceipt | Eth | ✔ |
web3_clientVersion
Returns the current client version.
Parameters
None
Returns
String - Current client version
Example
// Request
{
"jsonrpc":"2.0",
"method":"web3_clientVersion",
"params":[],
"id":67
}
// Result
{
"jsonrpc":"2.0",
"id":1,
"result":"gate enhanced-1.0.5-135-gf00ae80"
}
FAQ Section
What is JSON-RPC?
JSON-RPC is a lightweight remote procedure call protocol using JSON for data encoding. It enables communication between Ethereum-compatible clients and applications.
How do I choose between eth_call and eth_sendTransaction?
Use eth_call
for read-only operations that don't modify blockchain state. For state-changing operations requiring gas, use eth_sendTransaction
or eth_sendRawTransaction
.
Why might eth_estimateGas return values higher than actual usage?
Gas estimation accounts for worst-case scenarios including EVM execution paths and network conditions. Actual usage often proves lower after transaction execution.
What's the difference between eth_getBlockByHash and eth_getBlockByNumber?
eth_getBlockByHash
retrieves blocks using their unique hash identifier, while eth_getBlockByNumber
uses sequential block numbers. The latter cannot retrieve pending blocks.
How can I verify transaction success?
Check status
in the transaction receipt (1 for success, 0 for failure). For pre-Byzantium blocks, verify the root field instead.
👉 Learn advanced blockchain techniques