基于geth搭建以太坊私链

一、安装GETH

geth是以太坊的官方客户端,它是一个命令行工具,提供很多命令和选项,可以运行以太坊节点、创建和管理账户、发送交易、挖矿、部署智能合约等。

下面介绍geth的三种安装方法:

  • 直接下载可执行文件
  • 在线安装
  • 从源码编译安装

方法一直接下载可执行文件

最简单的方法是直接下载可执行文件,以太坊开发团队提供了各个系统的编译好的geth可执行文件,可以去官方下载地址国内镜像下载适合你系统版本的压缩包,解压缩后直接运行就可以。在命令行中输入 geth help 可查看geth的用法。

注意1:geth是一个命令行工具,需要在命令行中运行geth,windows用户不要直接双击geth.exe。 

注意2:如果不加任何参数直接运行 geth ,会自动连接到以太坊公网,此时会开始同步区块,在Linux系统中,区块数据默认存储在~/.ethereum中。

方法二在线安装

Ubuntu用户可以选择在线安装的方式,在终端中依次执行以下命令即可:

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

  

 

 

 

安装完成后执行 geth help 查看geth的用法。

方法三从源码编译安装

编译安装推荐使用Linux系统,本文以64位的Ubuntu16.04系统为例。

geth是用go语言写的,编译geth源码需要go语言和C语言编译器,因此需要先安装go语言,go语言版本推荐用go1.7及以上。

使用make编译

首先下载geth源码 go-ethereum,这里以 go-ethereum-1.5.6.tar.gz 为例:

接下来解压缩源码:

$ tar -xzf go-ethereum-1.5.6.tar.gz

 

 

用make工具进行编译:

$ cd go-ethereum-1.5.6 $ make geth

 

 

 

make会执行build目录下的编译脚本,编译脚本会调用go语言编译器进行编译。等待十几秒,编译就完成了,此时会在 go-ethereum-1.5.6/build/bin 中生成geth可执行文件。

输入 geth help 命令,会显示geth所有的命令和选项:

$ cd build/bin $ ./geth help

 

 

使用go语言编译工具编译

如果熟悉go语言,可以直接使用go语言的编译工具编译。

首先下载go-ethereum项目源码:

$ go get -d github.com/ethereum/go-ethereum

 

上面的命令会下载go-ethereum源码到GOPATH/src/github.com/ethereum/go-ethereum,同时会下载相关的依赖包,在国内网络环境下,如果不FQ,下载通常会失败,此时可以参考下面的手动下载方法。

下载完成后,通过以下命令编译:

$ go install -v github.com/ethereum/go-ethereum/cmd/geth

 

等待十几秒,编译完成后,会在GOPATH/bin目录下生成geth可执行文件。

:如果go get命令下载很慢或失败,可以采用手动下载:首先下载 go-ethereum-1.5.6.tar.gz ,然后解压到GOPATH/src/github.com/ethereum/go-ethereum,还要到http://www.golangtc.com/download/package下载golang.org.x.net.tar.gz,并将其解压到GOPATH/src中。解压之后的目录结构应该是这样的:

GOPATH/src ├── github.com │ └── ethereum │ └── go-ethereum └── golang.org └── x └── net

 

之后再通过上面的go install命令编译安装即可。

 

二、搭建以太坊私链

 

新建目录如下

 

geth --datadir data0 init genesis.json

 

genesis.json 内容如下:

{

"config": {

"chainId": 10,

"homesteadBlock": 0,

"eip155Block": 0,

"eip158Block": 0

},

"alloc" : {},

"coinbase" : "0x0000000000000000000000000000000000000000",

"difficulty" : "0x20000",

"extraData" : "",

"gasLimit" : "0x2fefd8",

"nonce" : "0x0000000000000042",

"mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000",

"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",

"timestamp" : "0x00"

}

 

其中是创世区块和配置

接下来启动节点

geth --datadir ./data0 --networkid 6223 --rpc --rpcaddr 0.0.0.0 --rpccorsdomain "*" --rpcapi "admin,debug,eth,miner,net,personal,shh,txpool,web3" --rpcport 8545 --nodiscover console

修改好自己的目录和id,等等即可

 

 

posted @ 2018-07-05 15:03  西门大神  阅读(406)  评论(0编辑  收藏  举报