搭建多节点以太坊私链 10分钟搞定(超简洁)

Posted apple_52203380

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搭建多节点以太坊私链 10分钟搞定(超简洁)相关的知识,希望对你有一定的参考价值。

John sir 亲传  不作任何商业用途

首先创建三个文件夹 分别为三个节点   每个文件夹准备好 一个存放数据的文件夹

 

 然后进入John1 cmd进入puppeth

 后面的直接回车就可以  

到这步开始导出

 

导出后  文件夹多了 四个文件 主要用到的就是jhgeth.json 其他三个可有可无 

 geth --datadir "./jhdata" --networkid 112233  init jhgeth.json  初始化创世块

 获取到geth  和 存放钥匙的keystore

 

 geth --datadir "./jhdata" account new  创建一个账户  我的是 123456
输入你自己的密码 别忘记 下一步要用

 在John1下面创建 passwd  无后缀的文件  里面标注上一步输入的密码

 在John1 下创建一个startnode.bat 的启动脚本 
 

 上面的 networkid   因为puppeth 里面是默认的 所以可以点看创世纪文件 jhgeth.json 里面查看

我的是112233 所以下面是112233

geth      --allow-insecure-unlock --unlock=0 --password ./passwd --networkid 112233  --datadir "jhdata" --http --http.api "admin,debug,web3,eth,txpool,personal,ethash,miner,net" --http.corsdomain="*" --http.port=8545 --http.addr="0.0.0.0" --port 30303 console

进入cmd  在John1 下  输入startnode.bat  启动脚本 

 进入后 
输入miner.start(1) 就可以开始挖矿了

自动搜寻节点  然后输入 admin.nodeInfo.enode 获取当前节点的地址 

 

 随意创建一个文本存储一下节点 

 恭喜你 已经完成了最难的部分  给自己鼓鼓掌 

后面的操作基本上是重复前面的步骤

将 John1 中的jhgeth.json 拷贝到  John2 和 John3中  (偷个懒 省的又puppeth)

 

 cmd 进入到John2下

三步走    1.初始化创世块 2. 创建账户并写好 密码文本   3.写好启动脚本  

1.geth --datadir "./jhdata" --networkid 112233  init jhgeth.json

2. geth --datadir "./jhdata" account new

 

 

3.创建启动脚本 

geth      --allow-insecure-unlock --unlock=0 --password ./passwd --networkid 112233  --datadir "jhdata" --http --http.api "admin,debug,web3,eth,txpool,personal,ethash,miner,net" --http.corsdomain="*" --http.port=8546 --http.addr="0.0.0.0" --port 30304 --ipcpath \\\\.\\pipe\\geth2.ipc console

 ps:因为之前的  端口已经被第一结点用了 所有第二个要换一个端口   

成功进入 

 

admin.addPeer("enode://8b2ed0dfba73e66ce9118c05a6dcce068e063584e43e470dc979b4b6c5042ed495e6396777cd882e7fdff5cf1a22e28b1a2651e03af16b19be6250efff3972ad@127.0.0.1:30303")  
加入到 第一个节点中     这里的节点要修改为  之前在第一个节点中 用admin.nodeInfo.enode 获取并存储在 John1下面 static-notes.txt 里面的   

 成功同步了 节点一的数据 

节点三的就是和2一样的

 cmd 进入到John3下

三步走    1.初始化创世块 2. 创建账户并写好 密码文本   3.写好启动脚本  

1.geth --datadir "./jhdata" --networkid 112233  init jhgeth.json

 2.geth --datadir "./jhdata" account new

 

3.创建启动脚本 
 

 

geth      --allow-insecure-unlock --unlock=0 --password ./passwd --networkid 112233  --datadir "jhdata" --http --http.api "admin,debug,web3,eth,txpool,personal,ethash,miner,net" --http.corsdomain="*" --http.port=8547 --http.addr="0.0.0.0" --port 30305 --ipcpath \\\\.\\pipe\\geth3.ipc console

 ps:因为之前的端口被第二节点的用了 所有要用一个新的端口 

输入startnode.bat  启动脚本 

 admin.addPeer("enode://8b2ed0dfba73e66ce9118c05a6dcce068e063584e43e470dc979b4b6c5042ed495e6396777cd882e7fdff5cf1a22e28b1a2651e03af16b19be6250efff3972ad@127.0.0.1:30303")  
加入到 第一个节点中     这里的节点要修改为  之前在第一个节点中 用admin.nodeInfo.enode 获取并存储在 John1下面 static-notes.txt 里面的   

节点2 节点3  都在同步节点1的账本 

 

以上是关于搭建多节点以太坊私链 10分钟搞定(超简洁)的主要内容,如果未能解决你的问题,请参考以下文章

docker 部署以太坊私链v1.10.5

docker 部署以太坊私链v1.10.16版本

在CentOS7.9上搭建以太坊私链

CentOS 7环境下 使用geth搭建以太坊私链

以太坊私链搭建——genesis.json字段解读

geth控制台操控以太坊私链挖矿