Delivery层初始化配置

首先需要和bttc层一样准备一个genesis配置,如果是同步现有测试网或者主网,可以官方仓库拿到

主网:https://github.com/bttcprotocol/launch/blob/master/mainnet-v1/without-sentry/delivery/config/genesis.json

测试网:https://github.com/bttcprotocol/launch/blob/master/testnet-1029/without-sentry/delivery/config/genesis.json

如果是启动私链也可以自己创建,deliveryd程序也提供了初始化测试链的功能,比如需要创建一个私链,3个验证者2个同步节点

./deliveryd create-testnet --v 3 --n 2 --output-dir ./output --chain-id delivery-9528

执行完成后,会自动创建5个节点对应的配置文件,每份主要的配置如下

genesis.json

初始化链配置,主要关心以下字段

  • chain_id 链id

  • app_state->accounts 初始化账户资金等信息

  • bor->spans->validator_set->validators 初始化验证者信息

  • bor->spans->validator_set->proposer 初始化提案者信息

  • bor->spans->selected_producers 初始化当前生产者信息

  • bor->spans->bor_chain_id bttc层链id

  • chainmanager->chain_params 链合约相关地址

  • checkpoint 配置相关参数

  • gov 治理相关参数

  • slashing 惩罚相关参数

  • staking 初始化相关地址抵押量

对于私链,在初始化数据基础上,主要关注chain_id和chain_params,其余地址相应数据使用默认即可

config.toml

链基础配置,主要关心参数如下

  • fast_sync:是否开始快速同步

  • db_dir: 数据的存放位置

  • genesis_file:genesis.json存放位置

  • priv_validator_key_file:验证者私钥文件位置

  • priv_validator_state_file:验证者状态文件位置

  • node_key_file:节点密钥存放位置

  • persistent_peers:持久链接的peer地址,类同于eth的staticnode

  • private_peer_ids: 私有的节点id, 用于隐私接入,比如哨兵节点

    • 登录验证人节点.
    • 运行 deliveryd tendermint show-node-id. 示例: private_peer_ids = "e2c6a611e449b61f2266f0054a315fad6ce607ba"
delivery-config.toml

RPC和 REST配置,主要关心参数如下

  • eth_rpc_url:eth链RPC地址

  • bsc_rpc_url:bsc链RPC地址

  • bttc_rpc_url:bttc层RPC地址

  • tron_rpc_url:tron链RPC地址

  • 测试网:47.252.19.181:50051

  • tron_grid_url:tron链grid地址

  • 测试网:https://test-tronevent.bt.io

  • amqp_url:AMQP地址,在bridge过程中会用于任务的消息队列

node_key.json

节点的密钥信息,可以使用工具自动生成

priv_validator_key.json

节点验证者的密钥信息,可以使用工具自动生成

对于单节点测试,也可以直接执行初始化

./deliveryd init --chain-id delivery-9528 --home ./