Windows环境下搭建Geth私有网络

2018-11-06  本文已影响0人  赫灵

1、下载以太坊客户端Geth

https://ethereum.github.io/go-ethereum/downloads/

2、安装到F:\Geth目录

3、执行 geth version 验证:

F:\Geth>geth version

Geth

Version: 1.8.17-stable

Git Commit: 8bbe72075e4e16442c4e28d999edee12e294329e

Architecture: amd64

Protocol Versions: [63 62]

Network Id: 1

Go Version: go1.11.1

Operating System: windows

GOPATH=

GOROOT=C:\go

4、定义私有网络的创世状态:

首先需要定义私有网络的起始状态,之后的所有节点都需要对其认可。起始状态由 JSON 文件定义,比如可以为 genesis.json,在F:\Geth目录下新增创建创世块的初始化文件genesis.json,内容如下: 

{

"config":{

        "chainId": 15,

        "homesteadBlock": 0,

        "eip155Block": 0,

        "eip158Block": 0

    },

"difficulty":"0x40000",

"extraData":"",

"gasLimit":"0xffffffff",

"alloc":{}

}

注释 :

chainId:区块链的ID,用来标识当前区块链,并被用来防止重放攻击,在 geth 命令中的 –networkid 参数需要与 chainId 的值一致

homesteadBlock:Homestead 硬分叉区块高度

eip155Block: EIP 155 硬分叉高度

eip158Block: EIP 158 硬分叉高度

“difficulty”//难度,该值越大,出块越慢。 

“extraData”//附加信息,随意填写 

“gasLimit”//交易的执行时使用gas的上限

alloc:用来预置账号以及账号的以太币数量,因为私有链挖矿比较容易,所以我们不需要预置有币的账号,需要的时候自己创建即可以。

5、定义完 JSON 文件中定义的创世状态之后,还需要在启动前初始化每个 Geth 节点,来确保所有的区块链参数被设置正确

6、进入cmd命令行,切到F:\Geth目录,进行创世块信息初始化:

F:\Geth>geth --datadir "F:\Geth\data" init genesis.json

说明:datadir :保存databases 和 keystore的目录

(欢迎打赏,一分也是爱)

上一篇下一篇

猜你喜欢

热点阅读