记 linux 下搭建以太坊区块链

1,安装go语言(百度)。

2,安装geth。

     下载源码解压编译:https://github.com/ethereum/go-ethereum

  cd go-ethereum-master
  make geth  
  运行  /usr/software/go-ethereum-master/build/bin/geth version 

     显示如下表明安装成功。

   

    Geth
    Version: 1.8.18-unstable
    Architecture: amd64
    Protocol Versions: [63 62]
    Network Id: 1
    Go Version: go1.9.4
    Operating System: linux
    GOPATH=
    GOROOT=/usr/lib/golang

3,建立私有以太坊网络:以太坊节点之间能够互相链接需要满足:

1)相同的协议版本

2)相同的networkid,所以搭建私有网络最方便的方法就是通过geth命令中的–networkid选项,设置一个与主网不同的networkid(主网的networkid为1),这也是官方推荐的

4,新建一个目录用来存放区块链数据

以太坊支持自定义创世区块,要运行私有链,我们就需要定义自己的创世区块,创世区块信息写在一个json格式的配置文件中。首先将下面的内容保存到一个json文件中,例如genesis.json(涉及到权限问题所以进入root权限)

    vim genesis.json 

{
  "config": {
        "chainId": 15,
        "homesteadBlock": 0,
        "eip155Block": 0,
        "eip158Block": 0
    },
  "coinbase"   : "0x0000000000000000000000000000000000000000",
  "difficulty" : "0x020000",
  "extraData"  : "",
  "gasLimit"   : "0x2fefd8",
  "nonce"      : "0x0000000000000042",
  "mixhash"    : "0x0000000000000000000000000000000000000000000000000000000000000000",
  "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
  "timestamp"  : "0x00",
  "alloc"      : {}
}

进入新建的目录中,执行初始化命令:

/usr/software/go-ethereum-master/build/bin/geth   --datadir data init genesis.json

INFO [10-24|15:40:49.886] Maximum peer count                       ETH=25 LES=0 total=25
INFO [10-24|15:40:49.887] Allocated cache and file handles         database=/usr/local/private-geth/data/geth/chaindata cache=16 handles=16
INFO [10-24|15:40:49.891] Writing custom genesis block 
INFO [10-24|15:40:49.891] Persisted trie from memory database      nodes=0 size=0.00B time=8.914µs gcnodes=0 gcsize=0.00B gctime=0s livenodes=1 livesize=0.00B
INFO [10-24|15:40:49.891] Successfully wrote genesis state         database=chaindata                                   hash=5e1fc7…d790e0
INFO [10-24|15:40:49.891] Allocated cache and file handles         database=/usr/local/private-geth/data/geth/lightchaindata cache=16 handles=16
INFO [10-24|15:40:49.894] Writing custom genesis block 
INFO [10-24|15:40:49.894] Persisted trie from memory database      nodes=0 size=0.00B time=1.559µs gcnodes=0 gcsize=0.00B gctime=0s livenodes=1 livesize=0.00B
INFO [10-24|15:40:49.894] Successfully wrote genesis state         database=lightchaindata                                   hash=5e1fc7…d790e0

5,启动geth:

/usr/software/go-ethereum-master/build/bin/geth --datadir data --networkid 1108 console

 进入js的控制台

基本命令

查看账户
> eth.accounts
[]

创建账户
> personal.newAccount()

查看账户余额
> eth.getBalance(eth.accounts[0])
0

开始挖矿
> miner.start()

停止挖矿
> miner.stop()


以上为整理的搭建过程,方便以后使用。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值