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

ubuntu系统搭建私有链操做步骤html

前提是 geth 已经安装,能够参考上一节内容讲解json

Step 1: 创建目录和genesis.jsonubuntu

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

命令:mkdir geths区块链

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

继续进入到该文件夹目录下,建立一个文件,genesis.json, 文件名也能够任意。.net

genesis.json 文件内容:命令行

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

[html] view plain copyhtm

 

  1.    {  
  2.   "config": {  
  3.         "chainId": 666,  
  4.         "homesteadBlock": 0,  
  5.         "eip155Block": 0,  
  6.         "eip158Block": 0  
  7.     },  
  8.   "alloc"      : {},  
  9.   "coinbase"   : "0x0000000000000000000000000000000000000000",  
  10.   "difficulty" : "0x20000",  
  11.   "extraData"  : "",  
  12.   "gasLimit"   : "0x2fefd8",  
  13.   "nonce"      : "0x0000000000000042",  
  14.   "mixhash"    : "0x0000000000000000000000000000000000000000000000000000000000000000",  
  15.   "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",  
  16.   "timestamp"  : "0x00"  
  17. }  

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: 最重要的一步来了,开始挖矿

在命令行中执行命令 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, 不须要执行前两步了。

相关文章
相关标签/搜索