美文网首页
Windows环境下搭建Geth私有网络

Windows环境下搭建Geth私有网络

作者: 赫灵 | 来源:发表于2018-11-06 11:13 被阅读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的目录

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

    相关文章

      网友评论

          本文标题:Windows环境下搭建Geth私有网络

          本文链接:https://www.haomeiwen.com/subject/uzkqxqtx.html