[컴] go-ethereum 빌드 하기

이테리움 go 버전 빌드하기 / 에테리움 /



go-ethereum

이녀석이 ref. 1 에 따르면
"Ethereum 의 공식 구현체 중 가장 빠르게 버전업이 되는 구현체이며, DApp 클라이언트 플랫폼으로 Go Ethereum (Geth) 를 공식화" <from ref. 1, ref. 3>
하고 있다고 한다. 여하튼 그래서 이녀석을 택했다.



windows 에서 go-ethereum 설치하기


windows 64 bit 에서 설치하는 법이 나와있다. 여기서는 당연히(?) source compile 부분을 살펴보겠다.

여기서는 winbuild 를 사용해서 compile 하는 방법을 사용한다. (Installation instructions for Windows · ethereum/go-ethereum Wiki · GitHub)


필요한 프로그램

  1. git : Git - Downloads
  2. golang :
    Downloads - The Go Programming Language
    > go1.6.1.windows-amd64.msi 설치
  3. winbuilds 설치 :
    Download and Installation From Windows [Win-builds]
    혹시나 mingw32 가 설치되어 있다면, 지우거나 path 에 드러나지 않게 하자. 여기선 64bit compiler 가 필요하다.(참고)
  4. MinGW-w64 이용 : delve debugger 를 이용할 때 MinGW-w64 가 있어야 해서 MinGW-w64 를 이용하는 것이 winbuilds 를 이용하는 것보다 낫다.(windows 에서 go deubugger delve 설치 를 참고하자.)

위의 3가지가 필요하다.
여기서는 아래 directory 에서 작업을 한다.
  • GOPATH, go-ethereum 설치한 곳 : d:\mine\programming\go\ethereum
  • GOROOT, golang 설치한 곳 : d:\go
  • winbuilds 설치 : d:\winbuilds

빌드 과정

  1. 환경 변수 설정
    set GOROOT=d:\go
    set GOPATH=d:\mine\programming\go\ethereum
    set path=%path%;c:\Program Files (x86)\Git\bin\;%GOPATH%\bin;%GOROOT%\bin;d:\winbuilds\bin\
  2. godep 설치
    d:\go\bin>go get github.com/tools/godep
  3. go-ethereum source 다운로드:
    git clone https://github.com/ethereum/go-ethereum src\github.com\ethereum\go-ethereum
    

  4. 빌드 :
    %GOPATH%\go-ethereum\cmd\geth 로 가서
    git checkout develop && godep go install
  5. 그러면 아래 경로에 geth.exe 가 만들어진다.
    • %GOPATH%\bin\geth.exe
go-ethereum 소스가 약 360 MB 정도 된다.(git 설정파일까지 합해서는 약 450 MB 정도 된다.)





Linux Ubuntu 14.04 에서 빌드

확실히 원래 리눅스 계열에서 작업한 것이라 그런지 리눅스에서 build 하는 것이 간단하다. windows 가 편해서 windows 에서 build 하려고 애썼긴 했는데, 삽질을 줄이려면 vm 깔고, linux 에서 build 하는 것이 훨씬 나은듯 하다.


Go v 1.5.x 설치

apt repository 추가 : Installation Instructions for Ubuntu · ethereum/go-ethereum Wiki · GitHub

sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install golang
mkdir -p ~/go; echo "export GOPATH=$HOME/go" >> ~/.bashrc
echo "export PATH=$PATH:$HOME/go/bin:/usr/local/go/bin" >> ~/.bashrc

필요한 library 들 설치

sudo apt-get install -y build-essential libgmp3-dev


빌드

git clone https://github.com/ethereum/go-ethereum ~/go/src/github.com/ethereum/go-ethereum
cd ~/go/src/github.com/ethereum/go-ethereum
make geth


최종적으로 geth 파일은 아래 경로에 만들어진다.
  • geth file path : ~/go/src/github.com/ethereum/go-ethereum/build/bin/geth





See Also

  1. How to debug Golang with Visual Sutio Code · Jhinseok Lee
  2. 쿠...sal: [컴] windows 에서 go deubugger delve 설치
  3. 쿠...sal: [컴] go language debugger delve setting + Visual Studio Code




Reference

  1. InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately [duplicate]
  2. Good Joon :: Ethereum Repository 설명
  3. Install the Command Line Tools

댓글 없음:

댓글 쓰기