区块链开发笔记五:以太坊源码编译及环境搭建
环境前准备Ubuntu16.0464位系统go-ethereum源码,下载地址为:https://github.com/ethereum/go-ethereum配置go环境此处需要注意,因为go的版本会造成后面以太坊环境测试,因此此处提供可行的一个go版本(go1.11.2)。1.进入/usr/local目录cd /usr/local2.安装go1.11.2版本wget h...
环境前准备
Ubuntu16.04 64位系统或者CentOS7 64位系统
配置好gcc环境,不然编译go-ethereum源码出错。
yum -y install gcc gcc-c++ kernel-devel
查看已安装的gcc
gcc -v
选择好虚拟机网络模式
- net模式
选择net模式要注意搭建的以太坊能否被外网访问的问题
https://blog.csdn.net/qq_36651243/article/details/88872688 - 桥接模式
选择桥接模式要注意配置好静态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
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
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
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. 特别说明,如果出现以下编译错误
这个问题说明你的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
最后保存设置即可
source /etc/profile
如果搭建与测试的过程中遇到问题,请详阅更多资料。
更多详细介绍
https://download.csdn.net/download/qq_36651243/11068809
更多资料:
以太坊自动化部署
以太坊环境测试
go-ethereum编译
docker切换代理
docker启动问题
puppeth中私链绑定账户问题
以太坊中go版本问题
智能合约部署上链操作
ipfs私有网络搭建
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)