go-ethereum源码编译

本文介绍在64位的Ubuntu16.04系统上编译以太坊go语言源码go-ethereum的过程。git

go-ethereum主要是用go语言写的,很小一部分使用了C语言,所以编译go-ethereum源码须要go语言和C语言编译器,首先确保机器上有gcc编译器,而且正确安装了go语言 (安装教程),go语言版本推荐用go1.7及以上。github

编译go-ethereum有两种方法,一种是使用make工具编译,另外一种是使用go语言本身的编译工具编译。golang

使用make编译

首先下载go-ethereum源码:bash

$ git clone https://github.com/ethereum/go-ethereum.git
$ cd go-ethereum
$ git checkout v1.6.0

上面经过git clone下载源码,而后经过git checkout检出指定版本的代码,若是想使用其余版本,在git checkout中指定相应的版本号便可。工具

接下来用make工具进行编译:ui

$ make geth

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

输入 geth help 命令,会显示geth全部的命令和选项:code

$ cd build/bin
$ ./geth help

使用go语言编译工具编译

若是熟悉go语言,能够直接使用go语言的编译工具编译。blog

首先在GOPATH/src下建立github.com/ethereum目录:教程

$ mkdir -p $GOPATH/src/github.com/ethereum

而后进入上面建立的目录,下载go-ethereum项目源码:

$ cd $GOPATH/src/github.com/ethereum
$ git clone https://github.com/ethereum/go-ethereum.git
$ cd go-ethereum
$ git checkout v1.6.0

下载完成后,经过如下命令编译:

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

go install命令会编译指定的源码,并在GOPATH/bin目录下生成geth可执行文件。

编译完成后,输入 geth help 命令,会显示geth全部的命令和选项:

$ cd $GOPATH/bin
$ ./geth help

:若是下载的是1.5.x版本的代码,编译出错的话,可能还要到golang中国下载golang.org.x.net.tar.gz,并将其解压到GOPATH/src中。解压以后的目录结构应该是这样的:

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

以后再经过上面的go install命令编译安装便可。

相关文章
相关标签/搜索