使用BESU客户端配置基于Clique协议的dockers集群

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


先决条件

提示:主要是对官方文档和现有的补充。所以不会很细

besu客户端的基本配置。包括不限于besu安装,创世文件的配置,私钥和地址的生成。部分api的使用。里面装好tmux。

一、从基本配置好的besu节点运行。

从配置好创世块的besu节点运行。里面最好包含对应节点的configfile。如果在创世块文件里面有分配coin的话,第一个节点需要有里面其中一个地址的key,要不然不出块。

二、docker配置

1.dockers net配置

	docker network create -d bridge besu-net




2.run docker 

从image启动容器.

这里由于是node1作为主节点和外面通信的。为后面扩展留出8546端口。这里必须30303等端口必须是udp协议的。

docker run -itd --name Node-1 --network besu-net -p 8545:8545 -p 30303:30303 -p 30303:30303/udp <image id> /bin/bash


docker run -itd --name Node-2 --network besu-net -p 8547:8547 -p 30305:30305 -p 30305:30305/udp <image id>bin/bash

docker run -itd --name Node-3 --network besu-net -p 8548:8548 -p 30306:30306 -p 30306:30306/udp <image id> /bin/bash

3.进入容器

docker exec -it <容器id> /bin/bash

三、节点配置

推荐用配置文件,要不然那么长串的命令复制很麻烦的。

besu –-config-file=<path>/genesisconfig.toml

从整体配置来说的第一个节点,后面如果要在不同主机上的第一节点需要配置静态节点或者在引导节点的选项上面输入其他宿主机上面的 对外的 节点的 enode。

data-path="/root/Clique-Network/node/data"
genesis-file="/root/Clique-Network/cliqueGenesis.json" 
network-id=1337
rpc-http-enabled=true 
rpc-http-api=["CLIQUE","ETH","NET","WEB3"] 
host-allowlist=["*"] 
rpc-http-cors-origins=["all"] 
rpc-http-host="0.0.0.0" 
rpc-ws-enabled=true 
rpc-ws-api=["ADMIN","CLIQUE","ETH","NET","WEB3"] 
rpc-ws-host="0.0.0.0" 
min-gas-price=0

nat-method="NONE"
p2p-host="192.168.80.10" 
p2p-port="30303"






这里重要的讲是后面几个。nat-method需要设置成NONE。如果没配置的话他会自动识别成docker。然后他的enode就是127.0.0.1.这样其他外部节点就没办法访问。这里p2p-host设置成宿主机的IP

data-path="/root/Clique-Network/node/data"
genesis-file="/root/Clique-Network/cliqueGenesis.json" 
network-id=1337
rpc-http-enabled=true 
rpc-http-api=["CLIQUE","ETH","NET","WEB3"] 
host-allowlist=["*"] 
rpc-http-cors-origins=["all"] 
rpc-http-host="0.0.0.0" 
rpc-ws-enabled=true 
rpc-ws-api=["ADMIN","CLIQUE","ETH","NET","WEB3"] 
rpc-ws-host="0.0.0.0" 
min-gas-price=0


nat-method="NONE"
bootnodes=["enode://60599fd67abc55bebe0f373cabfa268951ef1af38dad88fba48422aac1f94e0cdc37dac629ac5523c626ab2a9663dbb4abdc790b19e52a013e337a84465d9b6e@192.169.80.10:30303"]
p2p-port="30304"
rpc-http-port=8547
p2p-host="172.18.0.2" 

这里是节点2的。p2p-port就是之前配置的端口。这里第二个节点的p2p-host设置成容器ip。这里bootnode选择node1的。

node3的配置也是如此。

启动的话需要先用tmux启动。


总结

主要针对这种docker容器下的,而且还要增加相同集群。能解决下关键问题。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值