JSON-RPC 的兼容性
Conflux eSpace 实现了 Web3 JSON-RPC 协议。
查看以下视频以快速了解这个主题:
- JSON-RPC Compatibility Video
方法
方法 | 状态 | 备注 |
---|---|---|
web3_clientVersion | ✅ | |
net_version | ✅ | |
eth_protocolVersion | ✅ | |
eth_chainId | ✅ | |
eth_gasPrice | ✅ | |
eth_blocknumber | ✅ | |
eth_getBalance | ✅ | |
eth_getStorageAt | ✅ | |
eth_getCode | ✅ | |
eth_getTransactionCount | ✅ | |
eth_sendRawTransaction | ✅ | |
eth_submitTransaction | ✅ | |
eth_call | ✅ | |
eth_estimateGas | ✅ | |
eth_getTransactionByHash | ✅ | |
eth_getTransactionrecipt | ✅ | |
eth_getLogs | ✅ | fromBlock 与 toBlock 的差值最大限制为1000 |
eth_getBlockByHash | ✅ | |
eth_getBlockBynumber | ✅ | |
eth_getBlockTransactionCountByHash | ✅ | |
eth_getBlockTransactionCountBynumber | ✅ | |
eth_getTransactionBylockHashAndIndex | ✅ | |
eth_getTransactionBylockNumberAndIndex | ✅ | |
eth_syncing | ✅ | |
eth_hashrate | ✅ | |
eth_coinbase | ✅ | |
eth_mining | ✅ | |
eth_maxPriorityFeePerGas | ✅ | |
eth_accounts | ✅ | |
eth_submitHashrate | ✅ | |
eth_getUncleByBlockHashAndIndex | ✅ | |
eth_getUncleByBlockNumberAndIndex | ✅ | |
eth_getUncleCountByBlockHash | ✅ | |
eth_getUncleCountByBlockNumber | ✅ | |
parity_getBlockReceipts | ✅ | |
eth_pendingTransactions | 🚧 | |
web3_sha3 | 🚧 | |
trace_block | ✅ | Parity RPC |
trace_filter | ✅ | Parity RPC |
trace_transaction | ✅ | Parity RPC |
eth_feeHistory | ✅ | Supported at v2.4.0 |
eth_getFilterChanges | ✅ | 在v2.1.1版本中支持 |
eth_getFilterLogs | ✅ | 在v2.1.1版本中支持 |
eth_newBlockFilter | ✅ | 在v2.1.1版本中支持 |
eth_newFilter | ✅ | 在v2.1.1版本中支持 |
eth_newPendingTransactionFilter | ✅ | 在v2.1.1版本中支持 |
eth_uninstallFilter | ✅ | 在v2.1.1版本中支持 |
debug_traceTransaction | ✅ | Supported at v2.4.0 |
debug_traceBlockByHash | ✅ | Supported at v2.4.0 |
debug_traceBlockByNumber | ✅ | Supported at v2.4.0 |
net_listening | ❌ | |
net_peerCount | ❌ | |
eth_compileLLL | ❌ | |
eth_compileSerpent | ❌ | |
eth_compileSolidity | ❌ | |
eth_getCompilers | ❌ | |
eth_getProof | ❌ | EIP-1186 |
eth_getWork | ❌ | |
db_* | ❌ | |
shh_* | ❌ | |
图例解释:❌ = 不支持。 🚧 = 开发中。 ✅ = 已支持。
备注
eth_sendRawTransaction
supports legacy(EIP-155), type-1(EIP-2930) and type-2(EIP-1559) transactions. Type-3 transactions (EIP-4844) transactions are not supported yet.- 此处未列出的方法也不 支持。
- 没有所谓的 uncle(又称 ommer)区块。
eth_getUncleByBlockHashAndIndex
和eth_getUncleByBlockNumberAndIndex
方法总是返回null
。eth_getUncleCountByBlockHash
和eth_getUncleCountByBlockNumber
方法对有效的区块 ID 返回零,对无效的区块 ID 返回null
。 此外,与 uncle 相关的区块元数据如sha3Uncles
是空的哈希数组 sha3。 - 目前不支持非标准的 Geth 跟踪 API
- 非标准 Parity 跟踪 API 正在开发中
extra burntGasFee
field of transaction receipts
The implementation of 1559 in Conflux eSpace differs slightly from Ethereum. The base fee of the transaction is not entirely burned; instead, it is partially burned according to a certain ratio, with the remaining part still serving as the miner's revenue. An additional field burntGasFee
is added to the transaction receipt (e.g. got from eth_getTransactionReceipt
RPC) to record the amount of fees that is burned.
For more information, please refer to CIP-137.
pending
标签
仅 eth_getTransactionCount
方法支持pending
标签。 其他 方法将 pending
标签视为latest
- eth_getTransactionCount ✅
- eth_getBalance
- eth_getCode
- eth_getStorageAt
- eth_call
注意:过滤相关的方法也不支持 pending
标签
数据可验证性
以下字段无法保证可验证性
Block
- hash
- stateRoot
- receiptsRoot
- transactionsRoot
- totalDifficulty
Receipt
- logsBloom
发布/订阅
从 v2.1.0 版本开始支持 newHeads
和 logs