在本章中我们将实战如何使用Geth,如何搭建以太坊的私有网络。
之前说过Geth是三种实现以太坊协议的工具之一,由于Geth是官方推崇的以及个人精力有限,对于另外两种工具的搭建私有网络,请参考网上资料。
下面的Geth实战,在MacBook上实现,对于Windows方面,比较类似。
{
"nonce": "0x0000000000000042",
"timestamp": "0x0",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"extraData": "0x0",
"gasLimit": "0x80000000",
"difficulty": "0x1",
"mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0x3333333333333333333333333333333333333333",
"alloc": { }
}
用户可以vim,也可以用其他编辑器如sublime等,个人推荐使用Atom
Atom 官网地址: https://atom.io/
Atom 是一个由谷歌支持发布的文本编辑器, 一个你可以自定义做任何事情的现代编辑器,后面涉及文件和代码演示会主要在Atom上执行。
创建完成后,在Atom中,本文件夹下应该只有一个genesis.json
geth --datadir "./" init genesis.json
执行结果如下:
此时从Atom中看到的目录结构是这样的:
geth --datadir "./" --nodiscover console 2>>geth.log
geth的参数项目很多,有兴趣的可以打geth –help 来获得详细信息,我们也会在之后的章节中对关键参数项进行说明。
eth.accounts
, 我们会发现返回值为[]
这是因为此时虽然以太坊的私有链已经被创造出来,但还没有任何账户。
personal.newAccount("xxx")
, 该命令将创造一个新的用户,该用户的密码是xxx
. 当然用户也可以将xxx
改为123,或者123456,或者任意密码eth.accounts
, 我们会发现一个新的用户被创建了出来,这就代表我们已经创建了一个账户,重复personal.newAccount()
ð.accounts
我们可以创建若干个账户出来整个命令截图如下:
geth --datadir "./" --nodiscover console 2>>geth.log
其中的代码 console 2>> geth.log
代表将控制台的一部分输出,输出到文件geth.log上去。
tail -f geth.log
从而持续的输出以太坊的日志整个过程如下图所示:
miner.start()
, 开始在我们的区块链上进行挖矿一直等到100%。这个以太坊私有链就会正式启动,并持续不断的生成出以太坊来。
miner.stop()
来停止挖矿~/.ethash
文件夹和里面的文件即可acc0 = eth.accounts[0]
eth.getBalance(acc0)
结果只要不为0,那就说明挖矿成功!
原文链接:http://www.ethchinese.com/?p=659
QQ群:559649971 (区块链学堂粉丝群)
个人微信:steven_k_colin
获取最新区块链咨询,请关注《以太中文网》微信公众号:以太中文网