最近看经常遇到生态合作伙伴咨询通过api查寻交易和节点数据存放的问题
常出现
{
"id": 1,
"jsonrpc": "2.0",
"result": null
}
返回是null .
通常这种情况是需要自己的节点需要打开 persit_index 配置。而自己运行节点时,这个配置很容易忽略。 具体方法如下: HTTP RPC端口在toml配置文件里通过jsonrpc_tcp_port指定,其它还有jsonrpc_ws_port、jsonrpc_tcp_port、jsonrpc_http_port、jsonrpc_local_tcp_port、jsonrpc_local_http_port。可以参考release里提供的tethys.toml默认配置文件。默认的数据存放在运行路径(pwd)下的blockchain_db和storage_db里。可以通过配置文件里的conflux_data_dir和block_db_dir分别配置。需要注意如果需要访问老的receipt数据的话,需要把persist_tx_index设置为true.
存储交易索引,以便通过RPC访问历史数据:
- 在tethys.toml文件增加 persist_tx_index=true
- conflux --config tethys.toml
确认规则:
我们现在的是否确认的判断条件跟以太坊不一样,rpc提供了两个接口用于判断confirm
-
developer.conflux-chain.org/docs/conflu…
当 返回值/(2^256) <= 1/10^8 表示确认,这个是pivot chain switch的概率
-
developer.conflux-chain.org/docs/conflu…
这个rpc传参 latest_confirmed ,返回的就是最近的confirm的epoch,这个epoch大于等于你所查询交易所在的epoch时表示已被确认。这个内部判断逻辑跟第一条是一样的
相关资料库: