您的位置:首页 > 其它

ubuntu系统搭建私有链操作步骤

2018-01-31 00:00 302 查看
摘要: http://blog.csdn.net/xiabing082/article/details/77197607
ubuntu系统搭建私有链操作步骤

前提是 geth 已经安装,可以参考上一节内容讲解

Step 1: 建立目录和genesis.json

在命令行模式创建一个目录,例如geths ,这里geths目录命名任意。

命令:mkdir geths

然后在ubuntu目录下会出现一个geths文件夹。

继续进入到该文件夹目录下,创建一个文件,genesis.json, 文件名也可以任意。

genesis.json 文件内容:

(注意版本太早的复制进去,运行会出错,可以适当更改内容)

[html] view plain copy

{

"config": {

"chainId": 666,

"homesteadBlock": 0,

"eip155Block": 0,

"eip158Block": 0

},

"alloc" : {},

"coinbase" : "0x0000000000000000000000000000000000000000",

"difficulty" : "0x20000",

"extraData" : "",

"gasLimit" : "0x2fefd8",

"nonce" : "0x0000000000000042",

"mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000",

"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",

"timestamp" : "0x00"

}

Step 2: 执行命令,创建创世区块

切换回命令行,执行命令,制造创世区块

进入到geths 目录下,执行命令

geth --datadir "./" init genesis.json

此时当前geths目录下面会新增出两个文件夹geth和keystore

geth中保存的是区块链的相关数据

keystore中保存的是该链条中的用户信息

Step 3:创建自己的私有链条

geth --datadir "./" --nodiscover console 2>>geth.log

注意这里输出打印日志到log文件中

Step 4:在自己的私有链条上创建用户

输入命令eth.accounts, 我们会发现返回值为[],这是因为此时虽然以太坊的私有链已经被创造出来,但还没有任何账户。

输入命令personal.newAccount("xxx"),该命令将创造一个新的用户,该用户的密码是xxx. 当然用户也可以将xxx 改为123,或者123456,或者任意密码

再次输入命令 eth.accounts, 我们会发现一个新的用户被创建了出来,这就代表我们已经创建了一个账户,重personal.newAccount() & eth.accounts 我们可以创建若干个账户出来

Step 5: 最重要的一步来了,开始挖矿

在命令
7fe8
行中执行命令 miner.start(), 开始在我们的区块链上进行挖矿

一直等到100%。这个以太坊私有链就会正式启动,并持续不断的生成出以太坊来。

注意点:

1. 挖矿挖到的ether币会默认保在第一个账户中,即eth.acccounts[0]中。

2. 挖矿是执行智能合约的基础。如果停止挖矿的话,不仅以太币会停止生成,所有智能合约的调用也会不起作用。

3. 如果真的要停止挖矿,可以执行命令miner.stop()来停止挖矿

4. 按上面的命令,应该是可以实现以太坊挖矿的。如果不行的话,有可能就是之前有存在的链,此时应该删除之前的数据。即删除~/.ethash文件夹和里面的文件即可。

5. 通常有人出现miner.start()返回null,,并且没有信息刷屏,就停留在null,, 原因回到step 3 你将输出结果打印到日志log,所以无法显示,exit 退出, 重新运行geth --datadir "./" --nodiscover console 即可。

Step6: 挖矿启动后,查看主账户的以太币数量

acc0 = eth.accounts[0]

eth.getBalance(acc0)

结果只要不为0,那就说明挖矿成功!

退出挖矿:miner.stop()

退出当前geth ,执行:exit

重新运行geth, 直接进入到step 3, 不需要执行前两步了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  区块链