以太前言本人也是第一次接触

CentOS7下从零开始安装ethereum/以太坊

服务器技术 2021-12-21 09:11:15 30

导读

前言 本人也是第一次接触linux,在安装的过程中遇到了很多问题,查找发现没有很全面的一个安装以太坊的教程,这里总结一下我的方法,有问题的话希望各位大佬指出。 添加sudo写权限 先进入root su chmodu+w/etc/sudoers vi/etc/sudoers 找到rootALL=(ALL)ALL,在他下……

前言

本人也是第一次接触linux,在安装的过程中遇到了很多问题,查找发现没有很全面的一个安装以太坊的教程,这里总结一下我的方法,有问题的话希望各位大佬指出。

添加 sudo写权限

先进入root

su 
chmod u+w /etc/sudoers
vi /etc/sudoers

找到root ALL=(ALL) ALL,在他下面添加klose ALL=(ALL) ALL并保存(添加按一下a键,添加完保存按esc退出插入模式后输入:wq)

chmod u-w /etc/sudoers
exit

brew的安装需要新版本的git,curl,CentOS 7自带版本过低,需要更新。

安装git 2.9.0

下载并安装git 2.9.0

wget --no-check-certificate https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.0.tar.gz
tar -zxvf git-2.9.0.tar.gz
cd git-2.9.0
sudo yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker kernel-headers glibc-headers gcc-c++
./configure --prefix=/usr/local/git
make 
sudo make install

环境配置

vim /etc/profile

在最后添加(这里一并添加了之后的环境变量)

export PATH=/usr/local/git/bin:$PATH
export PATH=/usr/local/git/libexec/git-core:$PATH
export PATH=/usr/local/openssl:$PATH
export PATH=/usr/local/curl:$PATH

立即生效

source /etc/profile

接下来为了不每次打开shell都重新配置环境变量

vim ~/.bashrc

加一句

source /etc/profile
vim ~/.bash_profile

加一句

source ~/.bash_profile

查看git路径和版本,确定git成功安装,移除Centos7自带的旧版本git,连接新版本git

which -a git
git --version
sudo mv /usr/bin/git /usr/bin/git.bak
sudo ln -s /usr/local/git/bin/git /usr/bin/git

安装openssl 1.1.1l

wget --no-check-certificate https://www.openssl.org/source/openssl-1.1.1l.tar.gz
tar -xzvf openssl-1.1.1l.tar.gz
cd openssl-1.1.1l
./config --prefix=/usr/local/openssl --openssldir=/usr/local/ssl shared zlib
make
sudo make install

移除旧版本openssl,创建软连接

sudo mv /usr/bin/openssl /usr/bin/openssl.bak
sudo mv /usr/include/openssl /usr/include/openssl.bak
sudo ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
sudo ln -s /usr/local/openssl/include/openssl /usr/include/openssl

更新配置

sudo ldconfig
sudo ldconfig -v

查看openssl版本,为1.1.1.l即安装成功

openssl version 

安装curl 7.54.0

wget --no-check-certificate https://curl.haxx.se/download/curl-7.54.0.tar.gz
tar  -zxf  curl-7.54.0.tar.gz
cd curl-7.54.0
./configure --prefix=/usr/local/curl --with-ssl=/usr/local/openssl  --libdir=/usr/lib64
make
sudo make install

替换系统curl,创建软连接

sudo mv /usr/bin/curl /usr/bin/curl.bak
sudo ln -s /usr/local/curl/bin/curl /usr/bin/curl
suvi /etc/ld.so.conf 

添加/usr/local/curl/lib

exit

检查curl版本

sudo ldconfigcurl -V

安装brew

用gitee大佬的国内镜像安装命令,安装后会自动安装ruby

rm Homebrew.sh ; wget https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh ; bash Homebrew.sh

安装node&npm

cd /usr/local
sudo wget --no-check-certificate https://npm.taobao.org/mirrors/node/v10.14.1/node-v10.14.1-linux-x64.tar.gz
tar -xvf  node-v10.14.1-linux-x64.tar.gz
sudo mv node-v10.14.1-linux-x64 node
sudo rm node-v10.14.1-linux-x64.tar.gz

环境配置

suvi /etc/profile

添加

export NODE_HOME=/usr/local/node  
export PATH=$NODE_HOME/bin:$PATH

退出

source /etc/profile

创建软连接

sudo ln -s /usr/local/node/bin/npm /usr/bin/npm
sudo ln -s /usr/local/node/bin/node /usr/bin/node
sudo ln -s /usr/local/node/bin/node-waf /usr/bin/node-waf
sudo ln -s /usr/local/node/lib/node /usr/lib/node

检查版本

node -vnpm -v

安装ethereum/以太坊

brew tap ethereum/ethereum
brew install ethereum

可能会报错

Error: Your HOMEBREW_BOTTLE_DOMAIN still contains “linuxbrew”.You must unset it (or adjust it to not contain linuxbrew.e.g. by using homebrew instead).

解决方法,注意不能提前执行,可能导致brew安装失败

echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles' >> ~/.bash_profile
source ~/.bash_profile

安装remix

sudo npm install remix-ide -g
remix-ide

remixd报错

vim /usr/local/node/lib/node_modules/remix-ide/bin/remix-ide

注释remixd相关代码(该文件为js格式,用//和/* …*/注释,#虽然会变色但是不行)
进入

http://localhost:8080/index

即可编写智能合约

P.S. yum问题

安装curl之后yum可能会报错,这是由于libcurl的问题导致的,笔者也没有一个很好的解决方法,并不是每次都能成功。

1253067 TFnetwork_cn