Conflux对接Q&A
Conflux相关
1)技术对接信息
官网地址
币种简称,全称
CFX
区块浏览器地址
Conflux Tethys网络 chain_id
1029
Testnet chain_id
1
公共RPC节点url(支持新的CIP37地址)
目前不保证服务可用性,仅供开发者测试使用
github源码地址:Fullnode
java sdk
js sdk
go sdk
主网节点安装指导
目前主网的数据占用磁盘空间大小
full node大概150GB左右
主网数据快照地址(用于加速同步,如果有请提供)
无
出块速度
0.5s一个块
确认规则
我们现在的是否确认的判断条件跟以太坊不一样,rpc提供了两个接口用于判断confirm
当 返回值/(2^256) <= 1/10^8 表示确认,这个是pivot chain switch的概率
这个rpc传参 latest_confirmed ,返回的就是最近的confirm的epoch,这个epoch大于等于你所查询交易所在的epoch时表示已被确认。这个内部判断逻辑跟第一条是一样的
币种精度
最小单位为drip,1 drip = 1/10^18 CFX
存储交易索引,以便通过RPC访问历史数据
1. 在tethys.toml文件增加 persist_tx_index=true
2. conflux --config tethys.toml
如何配置节点的rpc端口和数据存放路径
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/sdk文档链接
Fullnode RPC规范
JSON RPC 2.0
获取当前的最新块高
cfx_epochNumber
获取某个块的所有交易
cfx_getBlockByHash
获取某一笔交易详情
cfx_getTransactionByHash
如何判断一笔交易的准确性,避免假充值(文字说明即可)
通过cfx_getConfirmationRiskByHash获取交易所在block的确认安全程度,这个值除以2^256得到被revert的概率。一般对于小额资金,revert概率低于1/10^8即可,若资金更大,适当调低这个目标概率值即可。
转账: 最好是离线签名+在线广播的方式
2)发送/广播交易:cfx_sendRawTransaction;
查询地址余额
cfx_getBalance
主链分叉的预防措施
Conflux采用树图账本结构,账本中几乎所有的诚实区块均为有效区块。其采用GHAST共识算法(最重子树规则)来防止双花攻击。其安全性假设是诚实节点的算力超过50%。
存储过去更长时间的状态
默认参数只存储最近约4000 epoch的状态,需要查询更老的状态的话需要配置additional_maintained_snapshot_count。
设置为100大概可以存储最近两天的状态。
由于请求的状态太老,导致的常见报错类似 “State for epoch (number=... hash=...) does not exist: out-of-bound...”
2) FC和CFX的关系
答:FC是一个Conflux链上的erc777合约发行的用于发社区激励,基金会承诺可以单向1:1兑换成cfx
3)节点的定义
答:
Archive Node(档案节点):
Archive Node中会存储Conflux网络中的所有历史区块数据,因此存储的数据比也会比较大。Archive Node挖矿时,需要同步数据的时间比较长,占用的存储空间比较多。
Conflux 会允许任何人运行一个Archive Node,但是Archive Node对存储的要求比较高,以现在 Conflux 的网络参数为例,平均每秒生成 2 个区块,每个区块大小限制约为 600KB。那么在满载的情况下,一秒的吞吐量为 1.2MB,一天约 100GB,每年新增的交易历史数据可达 30TB。未来完全去中心化的Conflux网络中,Conflux 基金会和社区共同维护若干个档案节点。
Full Node(全节点):
在企业级和工业级的应用中存储 30TB 数据并不是一件特别困难的事情,按照现在的市场价 3 块 10TB 硬盘只需 5000-7000 元。但Conflux 要最大程度地保证去中心化,因此就必须尽可能地降低参与共识的成本。为了降低参与共识的门槛,Conflux在开发时把全节点的最低运行配置限制在 2019 年主流家用台式机的水平,所以本次挖矿测试活动我们推荐的是Full Node(全节点)进行挖矿测试。
相对于Archive Node来说,Full Node对于Checkpoint前的区块,只需存储区块头而不用存储区块内的具体交易信息;Checkpoint后的区块存储方式会和Archive Node一致。Full Node挖矿时,需要同步数据的时间相对于Archive Node时间比较短,占用的空间比较小。
Light Node(轻节点):
Light Node对于所有区块都是只存储区块头。轻节点不参与挖矿,可以验证Conflux网络中的数据。
4)Conflux开发文档
答:英文版:https://developer.conflux-chain.org/中文版:https://zh-hans.developer.conflux-chain.org/(有些地方没有更新)
Last updated