主页 > imtoken中国版下载 > 构建以太坊私有链并连接两台计算机之间的节点

构建以太坊私有链并连接两台计算机之间的节点

imtoken中国版下载 2023-08-30 05:13:16

1:新建文件夹private

2:在改目录下新建文件genesis.json

文件内容如下:

{

“配置”:{

“链号”:10,

“家园块”:0以太坊节点升级

“eip155块”:0,

“eip158块”:0

},

以太坊宁静升级具体时间_以太坊升级公告_以太坊节点升级

“分配”:{},

“币库”:“0x0000000000000000000000000000000000000000”,

“难度”:“0x20000”,

“额外数据”:“”,

“gasLimit”:“0x2fefd8”,

“随机数”:“0x0000000000000042”以太坊节点升级

“混合哈希”:“0x0000000000000000000000000000000000000000000000000000000000000000”,

“parentHash”:“0x0000000000000000000000000000000000000000000000000000000000000000”,

“时间戳”:“0x00”

}

以太坊宁静升级具体时间_以太坊节点升级_以太坊升级公告

3:详细解释genesis.json文件的参数

以太坊宁静升级具体时间_以太坊节点升级_以太坊升级公告

4:输入private,执行命令geth --datadir "./" init genesis.json

该命令的作用是创建私有链

执行后

以太坊升级公告_以太坊节点升级_以太坊宁静升级具体时间

项目结构如上图

5:执行命令启动节点

geth --datadir "./" --nodiscover console 2>>geth.log

该命令是将日志导出到geth.log文件中。

以太坊宁静升级具体时间_以太坊升级公告_以太坊节点升级

可以使用tail -f geth.log 查看日志中的动态变化

命令中的参数说明如下:

--nodiscover 使用这个参数,你的节点就不会被其他人发现,除非手动添加你的节点。否则,就只有一个被无意添加到一个陌生区块链上的机会,那就是跟你有相同的genesis文件和networkID。
--maxpeers 0 如果你不想有人连上你的测试链,就用maxpeers 0。或者,你可以调整参数,当你确切的知道有几个节点要连接上来的时候。
--rpc 允许RPC操作你的节点。这个参数在Geth上是默认的。
--rpcapi "db,eth,net,web3" 这个命令指示了允许通过RPC访问的命令。默认情况下,Geth允许web3。

以太坊宁静升级具体时间_以太坊节点升级_以太坊升级公告

--rpcport "8080" --rpccorsdomain "http://chriseth.github.io/browser-solidity/" --datadir "/home/TestChain1" 私有链存放路径(最好跟公有链路径不同) --port "30303" 网络监听端口,用来和其他节点手动连接 --identity “TestnetMainNode" 用来标识你的节点的,方便在一大群节点中识别出自己的节点

6:运行admin.nodeInfo获取节点信息,记下节点id和端口号

以太坊升级公告_以太坊宁静升级具体时间_以太坊节点升级

以太坊升级公告_以太坊节点升级_以太坊宁静升级具体时间

比如记住上面两条信息,后面添加节点的时候会用到

7:用同样的方法在其他电脑上创建私有链,注意创世块中的chainId必须一致

8:执行admin.addPeer("enode://id@ip:port")

例如,连接到计算机的节点命令是:

admin.addPeer("enode://5fc948bd06bfdc28e8eb94fef741a3054942cbcf9f47e372fa52ce4149c84117446b63b2f555ba0eb65fcadaf9ea3c8c709a013ed87839e1319dc3550410b18d@192.168.1.105:30303")

执行后返回true表示成功

9:可以通过admin命令查看

以太坊宁静升级具体时间_以太坊升级公告_以太坊节点升级

你看,没关系!