JSON-RPC Interface Compatibility
The following table is the JSON-RPC compatiblity table for SKALE Network Chains.
Method | Core Node | Full Sync Node | Archive Node | Notes |
---|---|---|---|---|
web3_clientVersion | 🟢 | 🟢 | 🟢 | |
web3_sha3 | 🟢 | 🟢 | 🟢 | |
net_version | 🟢 | 🟢 | 🟢 | Returns ChainID from config.json |
net_listening | 🟢 | 🟢 | 🟢 | |
net_peerCount | 🟡 | 🟡 | 🟡 | Always returns 0 |
eth_protocolVersion | 🟢 | 🟢 | 🟢 | |
eth_syncing | 🟡 | 🟡 | 🟡 | Always returns false |
eth_coinbase | 🟢 | 🟢 | 🟢 | Returns SKALE Chain Owner Address from config.json |
eth_mining | 🟡 | 🟡 | 🟡 | Always returns false ; mining not supported |
eth_hashrate | 🟡 | 🟡 | 🟡 | Always returns 0 |
eth_gasPrice | 🟢 | 🟢 | 🟢 | Dynamically adjusted from 1000 wei upward |
eth_accounts | 🟢 | 🟢 | 🟢 | |
eth_blockNumber | 🟢 | 🟢 | 🟢 | |
eth_getBalance | 🟡 | 🟡 | 🟢 | "latest" only on Core/Full; supports EIP-1898 |
eth_getStorageAt | 🟡 | 🟡 | 🟢 | Same as above |
eth_getTransactionCount | 🟡 | 🟡 | 🟢 | Same as above |
eth_getBlockTransactionCountByHash | 🟡 | 🟡 | 🟡 | Old blocks are rotated out |
eth_getBlockTransactionCountByNumber | 🟡 | 🟡 | 🟡 | Same as above |
eth_getUncleCountByBlockHash | 🟢 | 🟢 | 🟢 | No uncles on SKALE |
eth_getUncleCountByBlockNumber | 🟢 | 🟢 | 🟢 | No uncles on SKALE |
eth_getCode | 🟡 | 🟡 | 🟢 | "latest" only on Core/Full; supports EIP-1898 |
eth_sign | 🔴 | 🔴 | 🔴 | |
eth_signTransaction | 🔴 | 🔴 | 🔴 | Personal API not supported |
eth_sendTransaction | 🟡 | 🔴 | 🔴 | Partial on Core; Personal API disabled |
eth_sendRawTransaction | 🟢 | 🟢 | 🟢 | Full/Archive nodes support submission only |
eth_call | 🟡 | 🟡 | 🟡 | "latest" only on Core/Full; supports EIP-1898 |
eth_estimateGas | 🟢 | 🟢 | 🟢 | Does not use binary search |
eth_getBlockByHash | 🟢 | 🟢 | 🟢 | Rotated blocks; includes author , boundary , seedHash |
eth_getBlockByNumber | 🟢 | 🟢 | 🟢 | Same as above |
eth_getTransactionByHash | 🟢 | 🟢 | 🟢 | Missing fields: chainId , v , r , s , type |
eth_getTransactionByBlockHashAndIndex | 🟢 | 🟢 | 🟢 | |
eth_getTransactionByBlockNumberAndIndex | 🟢 | 🟢 | 🟢 | |
eth_getTransactionReceipt | 🟢 | 🟢 | 🟢 | Missing fields: effectiveGasPrice , type |
eth_getUncleByBlockHashAndIndex | 🟢 | 🟢 | 🟢 | No uncles on SKALE |
eth_getUncleByBlockNumberAndIndex | 🟢 | 🟢 | 🟢 | No uncles on SKALE |
eth_getCompilers | 🔴 | 🔴 | 🔴 | |
eth_compileSolidity | 🔴 | 🔴 | 🔴 | |
eth_compileLLL | 🔴 | 🔴 | 🔴 | |
eth_compileSerpent | 🔴 | 🔴 | 🔴 | |
eth_newFilter | 🟡 | 🟡 | 🟢 | Ignores logs from rotated blocks on Core/Full |
eth_newBlockFilter | 🟢 | 🟢 | 🟢 | |
eth_newPendingTransactionFilter | 🟢 | 🟢 | 🟢 | |
eth_uninstallFilter | 🟢 | 🟢 | 🟢 | |
eth_getFilterChanges | 🟢 | 🟢 | 🟢 | |
eth_getFilterLogs | 🟢 | 🟢 | 🟢 | |
eth_getLogs | 🟡 | 🟡 | 🟢 | Ignores logs from rotated blocks on Core/Full |
eth_getWork | 🟢 | 🟢 | 🟢 | |
eth_submitWork | 🔴 | 🔴 | 🔴 | |
eth_submitHashrate | 🟢 | 🟢 | 🟢 | |
eth_getProof | 🔴 | 🔴 | 🔴 | |
db_putString , db_getString , db_putHex , db_getHex | 🔴 | 🔴 | 🔴 | |
ssh_* (all methods) | 🔴 | 🔴 | 🔴 | |
debug_accountRangeAt | 🔴 | 🔴 | 🔴 | |
debug_traceTransaction | 🔴 | 🔴 | 🟢 | |
debug_storageRangeAt | 🔴 | 🔴 | 🔴 | |
debug_preimage | 🔴 | 🔴 | 🔴 | |
debug_traceBlockByNumber | 🔴 | 🔴 | 🟢 | |
debug_traceBlockByHash | 🔴 | 🔴 | 🟢 | |
debug_traceCall | 🔴 | 🔴 | 🟢 | |
debug_getPatchTimestamps | 🔴 | 🔴 | 🟢 | Returns timestamps for all defined patches (0 for undefined) |