以太坊geth区块链私链建立
下载最新的geth,windows下装置很简单
关于私链在geth的githubwiki上privatenetwork一章有指南,下面进行部分翻译和整合
挑选networkid
简而言之,主张你运用networkid标识你的网络,要不然会于id=1的链,就是公链抵触。
建立创世区块
wiki供给的创世区块为
{"config":{"chainId":15,"homesteadBlock":0,"eip155Block":0,"eip158Block":0},"difficulty":"200000000","gasLimit":"2100000","alloc":{"7df9a875a174b3bc565e6424a0050ebc1b2d1d82":{"balance":"300000"},"f41c74c9ae680c1aa78f42e5647a62f353b7bdde":{"balance":"400000"}}}
创世区块为
{"config":{"chainId":1024,"homesteadBlock":0,"eip155Block":0,"eip158Block":0},"coinbase":"0x0000000000000000000000000000000000000000","difficulty":"0x20000","gasLimit":"0xffffff","nonce":"0x0000000000000042","mixhash":"0x0000000000000000000000000000000000000000000000000000000000000000","parentHash":"0x0000000000000000000000000000000000000000000000000000000000000000","timestamp":"0x00","alloc":{}
}
部分参数解说:
alloc:提前分配账号与其间币量;
"alloc":{
"7df9a875a174b3bc565e6424a0050ebc1b2d1d82":{"balance":"300000"},
"f41c74c9ae680c1aa78f42e5647a62f353b7bdde":{"balance":"400000"}
}
gaslimit:币最大量
nonce:随机数,用于配合挖矿
mixhash:参考黄皮书
difficulty:设置当时区块的难度,如果难度过大,cpu挖矿就很难,这儿设置较小难度
extraData:区块附加信息
config:Theconfigsectionensuresthatcertainprotocolupgradesareimmediatelyavailable.没怎么看懂
当时目录下创立chain文件夹储存创世区块
.\geth--datadir"\chain"initgenesis.json
进入调控台
.\geth--datadir"\chain"console
ipconfig查询本机ip
得到192.168.1.101
.\geth–targetgaslimit4294967295–rpc–rpcaddr“192.168.1.101”–rpcport“8101”–port“30301”–rpcapi“eth,web3,personal”–networkid1024–identity1024-nodiscover-maxpeers5–datadir“chain”-unlock0-rpccorsdomain“*”–mineconsole
发动私有链节点
注释
targetgaslimit–每个块的gas上限,这儿能够暂时理解为容量rpc–发动rpc通信,能够进行智能合约的布置和调试rpcaddr–rpc接口的地址rpcport–rpc接口的端口号port–网络监听端口,用于节点之间通信rpcapi–设置rpc的范围,暂时开启eth,web3,personal满足networkid–设置当时区块链的网络ID,是一个数字,能够随意写identity–区块链的标明,随意填写,用于标明现在网络的名字nodiscover制止被网络中其它节点发现,需要手动添加该节点到网络maxpeers最大节点数量datadir–设置当时区块链网络数据寄存的位置unlock–解锁某用户rpccorsdomain约束rpc访问源的ip,代表不约束mine允许挖矿console–发动命令行模式,能够在Geth中执行命令*
或许运用.\geth--datadir"chain"--dev.period1console
等候DAG变100%主动开端挖矿此时能够停止挖矿
miner.stop()
打开Mist
留意左下角标识private
至此成功配置私有链
问题:
cannotunmarshalhexstringwithout0xprefixintoGostructfieldGenesis.extraDataoftypehexutil.Bytes
形似是value值必须以0x最初,而extraData最初不是0x,形似只能把extradata删了,或许将你的文字转成16进制
invalidcharacter'}'lookingforbeginningofobjectkeystring
留意最终一个元素后面别加逗号
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。