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命令編譯安裝便可。

相關文章
相關標籤/搜索