区块链开发笔记五:以太坊源码编译及环境搭建

环境前准备

Ubuntu16.04 64位系统或者CentOS7 64位系统
配置好gcc环境,不然编译go-ethereum源码出错。

yum -y install gcc gcc-c++ kernel-devel

查看已安装的gcc

gcc -v

选择好虚拟机网络模式

  1. net模式
    选择net模式要注意搭建的以太坊能否被外网访问的问题
    https://blog.csdn.net/qq_36651243/article/details/88872688
  2. 桥接模式
    选择桥接模式要注意配置好静态ip和解决上网问题
    https://blog.csdn.net/qq_36651243/article/details/88886226

go-ethereum源码,下载地址为:https://github.com/ethereum/go-ethereum

配置go环境

此处需要注意,因为go的版本会造成后面以太坊环境测试,因此此处提供可行的一个go版本(go1.11.2)。
1. 进入/usr/local目录

cd /usr/local

2. 安装go1.11.2版本

wget https://dl.google.com/go/go1.11.2.linux-amd64.tar.gz

此处下载需要操作,如果下载不了,就在云盘下载后移到虚拟机中
链接:https://pan.baidu.com/s/1eDnWJ20rE-fh_4uh8XRqqA
提取码:qtoq
注意:如果你虚拟机默认系统目录下装了go环境,请先卸载。

apt-get purge golang-go

区块链开发笔记五:以太坊源码编译及环境搭建_第1张图片
3. 解压go压缩包

tar zxvf go1.11.2.linux-amd64.tar.gz

4. 设置编译目录GOPATH

mkdir -p /home/gopath

5. 配置环境变量

vim /etc/profile

6. 在配置文件最后添加

export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=/home/gopath

7. 保存已配置的环境变量使其生效

source /etc/profile

8. 查看go的版本即可验证是否成功了
在这里插入图片描述

配置docker环境

Ubuntu环境

1. 安装docker.io

apt-get install docker.io

2. 安装docker-compose

apt-get install docker-compose

3. 查看docker版本

go version

区块链开发笔记五:以太坊源码编译及环境搭建_第2张图片
4. 启动docker
确保允许当前用户首先操作Docker命令:

sudo usermod -a -G docker $USER

启动docker

service docker start

CentOS环境

1. 安装docker
安装一些必要的系统工具

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

添加软件源信息

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新 yum 缓存

sudo yum makecache fast

查看docker版本

yum list docker-ce.x86_64 --showduplicates | sort -r

选择需要安装 Docker-ce版本

yum -y install docker-ce-18.09.0 docker-ce-cli-18.09.0

查看docker版本

docker version

区块链开发笔记五:以太坊源码编译及环境搭建_第3张图片
2.安装docker-compose
下载docker-compose
(说明:版本号选择可以改download后的数字,目前我下载的是最新的版本1.23.2)

sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

添加可执行权限

chmod +x /usr/local/bin/docker-compose

查看docker-compose版本

docker-compose version

在这里插入图片描述
3. 启动docker
确保允许当前用户首先操作Docker命令:

sudo usermod -a -G docker $USER

启动docker

service docker start

docker设置代理

1. 默认情况下这个配置文件夹并不存在,我们要创建它

mkdir -p /etc/systemd/system/docker.service.d

2. 创建一个文件 /etc/systemd/system/docker.service.d/http-proxy.conf
注意文件内容要包含 HTTP_PROXY 环境变量。

[Service]
Environment="HTTPS_PROXY=http://192.168. XXX.XXX:XXXX / HTTP_PROXY=http://192.168. XXX.XXX:XXXX /"

3. 刷新systemd配置

sudo systemctl daemon-reload

4. 用系统命令验证环境变量加上去没

systemctl show --property=Environment docker

5. 重启docker

sudo systemctl restart docker

编译go-ethereum

1. 将go-ethereum放进linux下,然后进去其目录

cd go-ethereum

2. 编译以太坊客户端工具

make all

3. 特别说明,如果出现以下编译错误
区块链开发笔记五:以太坊源码编译及环境搭建_第4张图片
这个问题说明你的env.sh没有可执行权限,先用chmod对env.sh添加可执行权限

chmod +777 env.sh

5. 编译完成后,可在build/bin目录下看到编译好的工具文件
在这里插入图片描述
6. 配置环境变量
打开配置文件

vim /etc/profile

添加一下内容,注意ETH_HOME设置的是你编译以太坊后工具所在的目录。

export ETH_HOME=/home/nycko/shaw/go-ethereum/build
export PATH1=$PATH1:$ETH_HOME/bin

区块链开发笔记五:以太坊源码编译及环境搭建_第5张图片
最后保存设置即可

source /etc/profile

如果搭建与测试的过程中遇到问题,请详阅更多资料。

更多详细介绍
https://download.csdn.net/download/qq_36651243/11068809

更多资料:
以太坊自动化部署
以太坊环境测试
go-ethereum编译
docker切换代理
docker启动问题
puppeth中私链绑定账户问题
以太坊中go版本问题
智能合约部署上链操作
ipfs私有网络搭建

你可能感兴趣的:(区块链)