《锋哥论道区块链》之五区块链2.0之以太坊--多节点私有链搭建
我们在服务器A上创建并启动了私有网络,但是当前只有一个节点,接下来我们将服务器B这个节点加入的私有网络中,构成多节点私有网络。具体操作如下。
1 go-ethereum安装与配置
在服务器B上安装配置go-ethereum,此处我们假设安装目录:C:\Program Files\Geth
具体配置参考之前的,略。
2创世块文件
我们需要将服务器A上的创世块文件(xfli.json)拷贝到服务器B的geth的安装目录下。
3创建数据块存放位置及初始化创世块
通过如下命令创建一个使用这个创世块的数据库(通过—datadir指定),这将为您的链条导入并设置规范的创世块。
geth --datadir "%cd%\chainblock" init xfli.json
4启动区块链节点
此时我们就可以启动服务器B这个区块链节点了。
geth --identity "jcshu_etherum" --rpc --rpcaddr "IP(B)" --rpccorsdomain "*" --datadir "%cd%\chainblock" --rpcapi "db,eth,net,web3" --networkid 1985 console
注:
(1)networid必须与服务器A保持一致
(2)identity可以重新进行节点重命名
(3)rpcaddr需要填写本节点的地址
5将节点B添加到A的私有网络中
(1)查看节点105.30的信息
通过执行admin.nodeInfo找到enode这一行信息(这就是自己节点信息):
注意要把“0.0.0.0“换成服务器A的IP。将这个信息发送给其他节点。
(2)在B上执行如下操作,来完成节点添加
admin.addPeer("enode://c3eab93eda59ecff1897824b00bd829e4455c53d10f49af98863ec6a9ad5904868b2a1e4aa5e9ebd0381ebb2cdbee5a013cf7280aab08b8a05661d169852234e@IP(B):30303")
添加成功后,可以看到true的信息。连接成功后,节点B就会开始同步节点A的区块,同步完成后,任意一个节点开始挖矿,另一个节点会自动同步区块,向任意一个节点发送交易,另一个节点也会收到该笔交易。
(3)对等节点查看
通过admin.peers可以查看连接到的其他节点信息,通过net.peerCount可以查看已连接到的节点数量。
6从节点A发送10个以太币到节点B的账号中
基于我们搭建的多节点的私有链环境,我们接下来测试一下从节点A第一个账户发送10个以太币到节点B的第一个账号。
注:交易成功的前提是必须要进行挖矿。
(1)我们可以将两个节点都开启挖矿
(2)我们从节点A第一个账户发送10个以太币到节点B的第一个账号
(3)最后确认B的第一个账户收到了10个以太币