tendermint——命令行一键生成配置文件

声明:本文所描述代码非官方代码,依托于tendermint v0.34.24版本,目前测试下来兼容更高版本的tendermint,但是并不保证与所有项目均兼容。所给命令行的目的是简化测试过程中,部署配置文件的过程。

代码下载

链接:https://pan.baidu.com/s/1pQapjhGyZK90bcwhvvcWzQ?pwd=xxxx
提取码:xxxx

代码配置

上述下载文件名为init_config.go,将该文件加入tendermint/cmd/tendermint/commands目录下。
目录结构
然后,修改tendermint/cmd/tendermint中的main.go文件,在main函数的rootCmd.AddCommand的参数列表中加入cmd.InitLogFilesCmd参数,如下图所示。
在这里插入图片描述

使用方法

编译后,使用命令tendermint initConfig -h可以查看帮助列表。
使用如下命令配置四个节点:

tendermint initConfig --p2pIP 192.168.128.129:26656,192.168.128.130:26656,192.168.128.131:26656,192.168.128.132:26656 --rpcIP 192.168.128.129:26657,192.168.128.130:26657,192.168.128.131:26657,192.168.128.132:26657

参数说明
p2pIP:节点P2P端口的IP地址与端口号。提供多少ip地址,就初始化多少节点以及节点的配置文件。IP地址间用英文逗号隔开,IP地址必须为数字格式,不可以使用节点映射。
rpcIP:节点RPC端口的IP地址与端口号。rpcIP的ip地址数量应该与p2p相同。
例如,上述用例中,p2pIP的第一个ip地址为192.168.128.129:26656,表示第一个节点使用192.168.128.129:26656作为p2p的端口。rpcIP的第一个ip地址为192.168.128.129:26657,表明第一个节点使用192.168.128.129:26657作为rpc的端口。

可选参数

initConfig命令除了提供端口号的配置外,还提供了一键配置config文件中其它参数的方法。

参数名参数类型参数介绍默认值
ostring配置文件的输出位置,默认在当前文件夹下创建一个mytestnet文件夹作为输出路径。“./mytestnet”
allow-emptybool共识模块是否允许每过一段时间产生空区块。false
p2p-rateint64p2p通信的带宽限制,如果为负数,则使用默认值5120000 (5MB/s)。-1
timeout-proposestringpropose阶段的超时时间“3s”
timeout-prevotestringprevote阶段的超时时间“1s”
timeout-precommitstringprecommit阶段的超时时间“1s”
timeout-commitstringcommit阶段的超时时间“1s”
allow-broadcastboolmempool模块的broadcast功能是否开启true
allow-recheckboolmempool模块的recheck功能是否开启false
mempool-sizeintmempool中交易的数量(mempool的CacheSize默认被配置为mempool-size的50倍)10000
max-block-sizeint区块的最大大小,单位为MB,该参数不在config文件中,而在创世区块中(区块越大,单链的吞吐量相应的就越大,但是区块大小不宜过大,否则会对网络传输产生压力)。5

举例说明:

tendermint initConfig  \
--p2pIP 192.168.128.129:26656,192.168.128.130:26656,192.168.128.131:26656,192.168.128.132:26656 \
--rpcIP 192.168.128.129:26657,192.168.128.130:26657,192.168.128.131:26657,192.168.128.132:26657  \
--o ~/mytestnet \
--allow-empty false  \
--p2p-rate 51200000  \
--allow-broadcast false  \
--mempool-size 20000  \
--max-block-size  8

上述命令创建了四个节点,文件的输出路径是根目录下的mytestnet文件夹中,不允许共识模块产生空区块,网络带宽限制为50MB,mempool的broadcast功能关闭,mempool的容量被设置为20000个交易,区块的大小被限制在8MB以内。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值