前言
这是区块链系列的第三篇,内容是在服务器上去搭建一条属于自己的以太坊私链,同时部署运行我们之前写好的demo,实现通信记录等等完整的操作,因为有过在Windows环境下搭建私链的经验,看起来并不难,但是,实际上,这里是让我消耗最多时间的地方!!!在这个过程中,真的是,大坑小坑不断,并且,我的目的是最终能真正跑起来,所以也需要去解决更多的问题
文章目录
一:环境搭建
首先说一下我的环境,我的服务器是阿里云的,CentOS7.
还是一样,我用的是geth客户端
之前讲过,在不同环境搭建安装geth客户端方法是不一样的,是的不一样,CentOS只能先下载部署好go环境,然后再去github上clone下geth客户端
搭建go环境
可以先在服务器上运行以下命令:
cd /usr/local/
mkdir go
cd go/
wget https://storage.googleapis.com/golang/go1.10.2.linux-amd64.tar.gz
tar -zxvf go1.10.2.linux-amd64.tar.gz
echo "export GOROOT=/usr/local/go" >> /etc/profile
echo "export PATH=/usr/local/go/bin:$PATH" >> /etc/profile
source /etc/profile
go version
最后执行完应该可以查询出go的版本,截图如下:
如果不能查询出正确的go版本,那么你直接打开/etc/profile配置文件,直接在文件尾部修改确认好你的路径没有问题,然后再重新source一下就可以了。
geth的安装
接下来是geth的安装,先 git clone下go-ethereum项目,如果服务器上没git,那么先安装git
//正常情况
yum install git
//没有权限的话:
sudo yum install git
接着,执行以下指令:
mkdir /usr/local/apps/geth/
cd /usr/local/apps/geth/
git clone https://github.com/ethereum/go-ethereum.git
cd go-ethereum/
make all
echo "export PATH=$PATH:/usr/local/apps/geth/go-ethereum/build/bin" >> /etc/profile
source /etc/profile
geth version
正常的话能走到结尾会返回以下结果:
但是,大概率是不会正常的,因为在make过程中 可能会出现以下错误:
exec: “gcc”: executable file not found in $PATH
则是没有安装gcc的原因,执行
yum install gcc
还一定会出现无法进行clean all操作,具体信息大概是你缺了某个包某个文件,你进去它说的地方一看,还真的没有它说的缺的那个包;
实际上是因为我们clone下来的是整个master分支,所以我们需要切换分支,再进行clone即可,可以先去它的github上查看一下目前的分支信息,现在是