新建node2节点数据存储文件夹
之前的【区块链2.0实战学习笔记】————11、搭建以太坊私有链算是一个单节点以太坊网络,这次我们在原来的基础上再增加一个节点网络,命名为node2,使用eth2为data目录。
因为我们只是简单的增加节点所以我们的创世区块文件保持不变,创世区块文件保持不变。创世区块文件保持不变!重要的话说三遍!
初始化创世区块
geth --datadir /home/r00t/Private_eth/eth2 init genesis.json
启动节点node2并于node1相连
查看node1的enoded url信息,这是节点01与其他节点互动的唯一id:
启动node2,由于是单机多节点,节点node2的port以及rpcport应与节点node1的不同,并通过enoded url与节点01相关联。
sudo geth --networkid 111 --datadir /home/r00t/Private_eth/eth2 --identity "node2" --rpc --rpcport "8546" --port "30304" --rpcaddr "192.168.11.193" --nodiscover --bootnodes "enode://2a072dcdc47e8c494f0bb237b793083bd13227b2d1ab585aafd01981ff0db7a67eb7c58320b8ecde489f26e14f98588e3b13111c3d1b8bd2bfd99ff7df4ce3eb@127.0.0.1:30303?discport=0" --rpcapi "eth,net,web3,personal.admin,shhh,txpool,debug,miner" console
如果执行上述命令报错,那么你也不要偷懒自己手敲上述的命令,有时候你复制过去的内容由于编码不同就会导致无法执行。
注:bootndoes
的值来链接节点01,后面跟着在节点01的控制台通过admin.nodeInfo
得到的值。你也可以先不设置bootnodes
,直接启动节点,之后进入命令行后通过admin.addPeer(enodeUrl)
来添加节点01,使其和节点01相连。
查看节点node2的信息:
多节点信息查看
1、查询链接的其他节点的个数
node2:
node1:
2、查询链接的其他节点列表
3、查询节点node2中的区块高度
这时你会发现node2已经与node1完成了同步,区块的高度都变为了79,这也验证了我们所述的区块链中的每个节点都是一个“区块链数据库”的副本。
创建第三个节点
下面我们继续创建第三个节点,并且将第三个节点也加入到该私有链中进行测试:
1、新建node3节点数据存储文件夹
2、初始化创世区块
geth --datadir /home/r00t/Private_eth/eth3 init genesis.json
3、启动节点node2
geth --networkid 111 --datadir /home/r00t/Private_eth/eth3 --identity "node3" --rpc --rpcport "8547" --port "30305" --rpcaddr "192.168.11.193" --nodiscover --rpcapi "eth,net,web3,personal,admin,shh,txpool,debug,miner" console
4、添加节点node1,node2到node3中
添加node1到node3中
添加node2到node3中:
查询信息
node3:
多节点挖矿
因为node2、node3中默认账户为0,所以我们先在node2、node3中创建两个新账户:
node2:
node3:
在挖矿之前,我们先来一波交易:
1、node1解锁账户account[0]
2、node3获取eth.accounts[0]的账户地址
3、node1中执行转账,转账1eth:
4、node1中执行转账,转账3eth
5、node2中查看当前待确认的交易信息:
现在我们开始挖矿,三个节点同时挖掘
node1、node2、node3同时挖矿,将交易打包
停止挖矿,node1上查看待确认的交易:
node1余额:
node2余额
node3余额
参考链接:
https://www.jianshu.com/p/979c23c0ffa0
https://blog.csdn.net/u014454538/article/details/88750570
写作不易,请作者喝杯奶茶或可乐吧!