CENTOS7上以太坊Ethereum搭建篇

中中二次元 · · 2496 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

环境CENTOS7.2 x64

为了保持操作,一下操作路径统一在/data/eth里

Ethereum搭建篇(环境搭建非常重要,预填后面探索过程中的许多深坑!)

# 安装好虚机后,更新centos服务器并下载git、wget、vim、gcc-c++、ntp组件、nodejs以及添加epel第三方安装源。本步骤非常重要,可以节约大家在后续安装Ethereum以及开放框架时经常出错而到处摸索的时间。简要介绍下各个工具的说明:

# git、wget:安装相关的组件,下载安装各类开源代码与工具的利器;

# vim:文本编辑工具,取代vi;

# gcc-c++:c/c++编译工具,用于golang下部分c库的编译以及truffle组件的编译

# ntp:网络时钟同步组件;Ethereum的rpc网络需要时间同步;

# nodejs:ethereum前端开发JavaScript包管理软件

# epel:网络第三方的linux安装包源

yum update -y && yum install git  wget bzip2 vim gcc-c++ ntp epel-release nodejs cmake -y

# 下载golang(1.9.1和1.92均编译失败,重新下载1.10则编译成功)

国内镜像:https://studygolang.com/dl

#cd /usr

#wget https://studygolang.com/dl/golang/go1.10.1.linux-amd64.tar.gz

# tar -C /root -xzf go1.10.1.linux-amd64.tar.gz

# 解压golang并将工作目录移动到/usr/local/go

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

mvgo/usr/local/

# 配置GOROOT和PATH

echo"export GOROOT=/usr/local/go" >> /etc/profile

echo"export PATH=$PATH:/usr/local/go/bin" >> /etc/profile

source/etc/profile

# 克隆并编译go-ethereum

git clone https://github.com/ethereum/go-ethereum.git

cd go-ethereum

make all

#创建完毕后在path中入geth路径

echo "export PATH=$PATH:/root/go-ethereum/build/bin" >> /etc/profile

source/etc/profile

# 安装cmake:智能合约编译solc需cmake编译

# 本来要用yum一起安装cmake的,但yum与epel源中只有2.8.x版本的cmake,而智能合约编译器solc的安装需要3.0.x以上的cmake版本。故只能去官网独立安装。

# 下载cmake最新版本,登录https://cmake.org/download/,找到最新版本下载地址

cd && wget https://cmake.org/files/v3.9/cmake-3.9.2.tar.gz

# 解压并编译并安装

tar -xzvf cmake-3.9.2.tar.gz

cd cmaker-3.9.2

./bootstrap && make && make install

# 启动网络时间同步

systemctl enable ntpd

systemctl start ntpd

# 另外geth会用到8078和30303端口,放开防火墙端口 8078与30303

关掉防火墙

systemctl stop firewalld

# 配置geth私有的创世纪的配置文件:genesis.json,该文件描述了如何初始化一个私有的gethereum

cd

vim genesis.json

# 输入以下内容,然后存盘退出

{

  "nonce": "0x0000000000000042",

  "timestamp": "0x00",

  "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",

  "extraData": "0x00",

  "gasLimit": "0x80000000",

  "difficulty": "0x400",

  "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",

  "coinbase": "0x2D356ee3F5b8718d8690AFCD31Fe2CB5E602677e",

  "alloc": {},

  "config": {

    "chainId": 15,

    "homesteadBlock": 0,

    "eip155Block": 0,

    "eip158Block": 0

  }

}


# 创建私有网络的gethereum

geth --datadir "/data/eth/ethbase/chain" init /data/eth/genesis.json

至此环境搭建完成。


部署结果如图:


# 更常用的是开发环境下的测试,可直接启动默认的geth开发环境,注意:双减号、2与>>之间没有空格

geth --dev console 2>> geth_dev_log


# 进入到console下其实就进入了Ethereum的JavaScript环境,我想大概这里就是伟大的EVM(以太坊虚机)了。

# 如果想关注在操作过程中的日志,可以另起一个SSH通过tail观察

tail -f geth_dev_log


#启用私有链

geth --datadir "/data/eth/ethbase/chain" --nodiscover console 2>>eth_output.log

在当前目录执行tail -f eth_output.log,可以看到输出日志。 


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:中中二次元

查看原文:CENTOS7上以太坊Ethereum搭建篇

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2496 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传