文章内容如下:

在线安装Geth

$ sudo add-apt-repository -y ppa:ethereum/ethereum
$ sudo apt-get update
$ sudo apt-get install ethereum

若想在以太坊的世界里进行探索,安装Geth是重要的第一步。用户能够选择在线安装的方式,在终端依次执行相关命令,如此便能轻松完成安装工作。在安装过程中,只要保证网络和配置正确,通常都能顺利完成。

安装完成并不意味着结束,还得验证是否安装成功,用geth help命令就能检验。要是能正常显示帮助信息,那就表明已成功完成安装,能够步入下一步。

私有网络搭建背景

为什么要搭建私有以太坊网络?在实际应用里,很多时候我们需要一个环境,这个环境是独立的,也是可控制的,用来进行测试或者开发。在这个私有网络当中,我们能够随意进行各种操作,也能够随意进行各种尝试。

以太坊节点之间要能互相链接,这是有一定条件的,比如需要相同的协议版本等。所以,若要搭建一个与主网隔离的私有网络,我们就得想办法做出区分,并且官方也推荐了有效的搭建方法。

ubuntu@i-umw7lzvn:~$ geth help
NAME:
   geth - the go-ethereum command line interface
   Copyright 2013-2017 The go-ethereum Authors
USAGE:
   geth [options] command [command options] [arguments...]
VERSION:
   **1.6.6-stable-10a45cb5**
COMMANDS:
   init        Bootstrap and initialize a new genesis block
   import      Import a blockchain file
   ```

使用Geth命令设置

Geth命令是搭建私有网络的好帮手,它里面的–选项能够设置参数,这个参数和主网的不一样。主网的这个参数是1,我们把它设置成别的数值,这样就能区分开,进而创建出自己的私有网络。

进行这样的操作后,网络的基础搭建完成。使用Geth命令来做个性化设置,能让私有网络更好地契合自身需求,测试智能合约可顺利开展,进行简单交易也能顺利进行。

世纪区块文件概念

ubuntu@i-umw7lzvn:~$ mkdir private-geth
ubuntu@i-umw7lzvn:~$ cd private-geth/

世纪区块文件是什么?它是一个以json格式存在的文件,在以太坊的世界里有着重要作用,它包含了创世区块的相关信息,是私有网络的重要基础。

我们能够通过编辑这个文件,来定义创世区块的各类参数,创世区块就如同房子的地基,它决定了整个网络的一些初始特性,故而在编写这个文件的时候要万分谨慎。

自定义创世区块

以太坊具备支持自定义创世区块的特性,这特性相当不错。对于打算运行私有链的用户而言,要定义自己的创世区块。具体做法是,将相关信息写在一个采用json格式的配置文件里。

首先要把指定内容保存到一个json文件里,比如按照.json这样的形式来命名。在此提醒大家,要是遇到权限问题,那就需要进入root权限去操作,以此保证能顺利完成文件编写。

运行私有网络

完成了前面一系列准备工作,终于能够运行私有网络了。要先部署好创世区块文件,接着再次运用Geth命令启动节点,如此一来,一个属于自己的私有以太坊网络便开始运行了。

运行之后,就能在这个网络里开展各种操作。不管是转账,还是部署智能合约,亦或是进行各种测试,都能够随心所欲地进行。看到网络顺利运行,会有一种成就感,不是吗?

现在有个问题,在搭建以太坊私有网络时,你碰到过哪些比较难以解决的问题?要是你认为这篇文章有作用,那就点赞并分享给更多人!

root@i-nhmyceuh:/home/ubuntu/private-geth# vim genesis.json
{
  "config": {
        "chainId": 15,
        "homesteadBlock": 0,
        "eip155Block": 0,
        "eip158Block": 0
    },
    "coinbase" : "0x0000000000000000000000000000000000000000",
    "difficulty" : "0x40000",
    "extraData" : "",
    "gasLimit" : "0xffffffff",
    "nonce" : "0x0000000000000042",