搭建以太坊私有链并两台电脑间节点连接

1:新建文件夹private

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

文件内容如下:

{
  "config": {
        "chainId": 10,
        "homesteadBlock": 0,
        "eip155Block": 0,
        "eip158Block": 0
    },
  "alloc"      : {},
  "coinbase"   : "0x0000000000000000000000000000000000000000",
  "difficulty" : "0x20000",
  "extraData"  : "",
  "gasLimit"   : "0x2fefd8",
  "nonce"      : "0x0000000000000042",
  "mixhash"    : "0x0000000000000000000000000000000000000000000000000000000000000000",
  "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
  "timestamp"  : "0x00"

}

3:详解genesis.json文件参数

搭建以太坊私有链并两台电脑间节点连接_第1张图片

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

这个命令的作用是创建私有链

执行完之后

搭建以太坊私有链并两台电脑间节点连接_第2张图片

项目结构如上图

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和端口号

搭建以太坊私有链并两台电脑间节点连接_第3张图片

例如记住以上两个信息 ,等下添加节点会用到

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

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

例如连接上一个电脑的节点命令为:

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

执行完之后返回true表示成功了

9:可以通过admin命令来查看

搭建以太坊私有链并两台电脑间节点连接_第4张图片

你看,已经ok了!

 

 

 

 

你可能感兴趣的:(区块链)