(一)、centos7系统搭建Ethereum
以太坊(英语:Ethereum)是一个开源的有智能合约功能的公共区块链平台。通过其专用加密货币以太币(Ether)提供去中心化的虚拟机(“以太虚拟机” Ethereum Virtual Machine)来处理点对点合约。
1. 下载依赖工具
安装好虚机后,更新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
2. 下载golang版本为
wget https://storage.googleapis.com/golang/go1.9.linux-amd64.tar.gz
解压golang并将工作目录移动到/usr/local/go
tar zxvf go1.9.linux-amd64.tar.gz
mv go /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 version
3. 克隆并编译go-ethereum
git clone https://github.com/ethereum/go-ethereum.git
cd go-ethereum
make all
如果make all报如下错误:
到go-ethereum/vendor/gopkg.in/olebedev/go-duktape.v3/api.go修改第
976行 int64 改成 uint64。
然后再重新执行
创建完毕后在path中入geth路径
echo "export PATH=$PATH:/root/go-ethereum/build/bin" >> /etc/profile
source /etc/profile
验证:
geth version
4. 安装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 cmake-3.9.2
./bootstrap && make && makeinstall
5. 启动网络时间同步
systemctl enable ntpd
systemctl start ntpd
另外geth会用到8078和30303端口,放开防火墙端口 8078与30303
6. 开启防火墙
systemctl start firewalld
7. 放开端口
firewall-cmd --zone=public --add-port=8087/tcp --permanent
firewall-cmd --zone=public --add-port=30303/tcp --permanent
8. 配置geth私有的创世纪的配置文件:genesis.json,该文件描述了如何初始化一个私有的gethereum
1. cd
2. vim genesis.json
cd
vim genesis.json
# 输入以下内容,然后存盘退出
{
"nonce":"0x0000000000000042",
"timestamp": "0x00",
"parentHash":"0x0000000000000000000000000000000000000000000000000000000000000000",
"extraData": "0x00",
"gasLimit":"0x80000000",
"difficulty":"0x400",
"mixhash":"0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0xa0B9171F2a60Bd1812fb0806ece01198Bd8e4A35",
"alloc": {},
"config": {
"chainId": 15,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
}
}
创建私有网络的gethereum
1. cd root & geth --datadir "/home/ethbase/chain" init genesis.json
9. 启动geth
更常用的是开发环境下的测试,可直接启动默认的geth开发环境,注意:双减号、2与>>之间没有空格
geth --dev console 2>> geth_dev_log
进入到console下其实就进入了Ethereum的JavaScript环境。
注,如果执行geth --dev console 2会报如下错误,原因是以太坊执行miner.start返回null
解决方案:geth --identity "TestNode" --rpc --rpcport"8545" --datadir /opt/data/ --port "30303" --nodiscover--dev --dev.period 1 console>> geth_dev_log
如果想关注在操作过程中的日志,可以另起一个SSH通过tail观察
1. tail -f geth_dev_log
(一)、centos7系统搭建Ethereum相关推荐
- 一、使用两台Centos7系统搭建Hadoop-3.1.4完全分布式集群
上面这张思维导图喜欢就拿走,2021年,决定写大数据了. 文章目录 大数据常用技术词汇 Hadoop集群 Hadoop介绍 集群搭建前的准备 设置静态ip 配置阿里云yum源 安装JDK 克隆一个虚拟 ...
- 基于Centos7系统搭建Redis集群之主从复制(新手教程)
最近没多少事,就想着搭建个redis集群玩玩,毕竟听起来也是很高大上的东西,但是经过自己的断断续续的搭建,也感觉不是那么难,肯定也只是刚刚入门,搭建的东西也比较简单,并没有触及到里面更深入的内容: 因 ...
- 以Windows系统搭建基于Ethereum(以太坊)的区块链开发环境(具体操作与截图)
以Windows系统搭建基于Ethereum(以太坊)的区块链开发环境(具体操作与截图) 区块链设计开发小组 2019/04/01 借鉴博客:https://blog.csdn.net/cui ...
- 基于CentOS7.6系统搭建远程GIT服务器
基于CentOS7.6系统搭建远程GIT服务器 0 背景 0.0 GIT是什么 0.1 为什么搭建远程GIT服务器 1. 功课 2. 过程 3. 总结 4. 参考资料 0 背景 0.0 GIT是什么 ...
- Linux系统:Centos7下搭建PostgreSQL关系型数据库
本文源码:GitHub·点这里 || GitEE·点这里 一.PostgreSQL简介 1.数据库简介 PostgreSQL是一个功能强大的开源数据库系统,具有可靠性.稳定性.数据一致性等特点,且可以 ...
- KVM详细介绍及搭建KVM虚拟化平台构建Centos7系统
目录 一.KVM简介 1.发展历程 2.原理简介 3.虚拟化类型 4.虚拟化技术的优劣 5.KVM实际应用 二.KVM 运行时的三种模式 三.kvm部署过程 1.安装KVM前的环境部署 2.cento ...
- ftp部署一个可供centos6、centos7系统使用的yum网络仓库
今天我们讲一个小项目:使用centos6 ftp部署一个可供centos6.centos7系统使用的yum网络仓库 我们来分析一下这个项目:首先我们要先安装ftp包,开启并配置ftp服务.接着关闭并配 ...
- Linux常用命令下,以及再CentOS7下搭建apache网站服务,以及同一服务器上搭建第二个网站
Linux常用命令下,以及再CentOS7下搭建apache网站服务,以及同一服务器上搭建第二个网站 Linux 常用命令ls -l 以长格式显示-a 显示.. 和 .-A 不显示 . 和 ..-d ...
- 快速搭建ELK7.5版本的日志分析系统--搭建篇
一.ELK安装部署 官网地址:https://www.elastic.co/cn/ 官网权威指南:https://www.elastic.co/guide/cn/elasticsearch/guide ...
最新文章
- 【数论总结】-----励志写好一篇数论总结↖(^ω^)↗//正在施工...未完工
- 用单片机测量流体流速的_曹阳等:钻井用节流阀抗冲蚀性能的实验评价
- zabbix专题:第三章 Zabbix Agent客户端安装详解
- Hibernate配置文件,省的到处找了
- 垂直梯形校正画质损失多少_投影仪梯形校正会影响画质吗?投影仪梯形校正调不正怎么办?...
- Lua语言学习-垃圾回收
- Spotify是如何调整CDN服务来实现闪电般的快速流媒体体验
- 基于指数平滑对心电信号进行PQRST模拟(第二种方案)
- 适合 Kubernetes 初学者的一些实战练习 (三)
- B1.Java基础部分二
- (摘要)100个伟大的商业理念:理念35:引爆流行
- c语言宠物管理系统,请用C语言编出一个简单的宠物管理系统。
- linux dstat,dstat 用法详解
- Wireshark 用户使用手册 ———— 文件处理
- 建立良好人际关系的原则
- JDF bean模块想法交流
- 计算机二级access上机,计算机二级Access上机考点
- [弹幕词云姬]硬核b站up主一周撸出来的小工具,根据b站弹幕生成词云(一)
- oss文档存储类型:低频、标准、归档、冷归档
- 【机器学习】K-Means 聚类是特殊的矩阵分解问题
热门文章
- Eclipse+git中merge代码时出现conflict(冲突)的问题解决方案
- 黎曼猜想(一) 欧拉乘积式
- 德语语法笔记——虚拟式
- 鸟叔的linux私房菜+大数据(Hardoop/Spark/Hive) 电子书分享
- byte数组转blob类型_Jfinal 存byte[] 到mysql数据库中blob类型
- [免费]织梦xml地图生成插件
- div背景图片等比例缩小如何居中
- 惊呆了!手机上居然能安装Win10电脑系统?效果炸裂....附方法!这波操作我服气!
- 【taichi】用最少的修改将太极的pbf2d(基于位置的流体模拟)改为pbf3d
- 10-200 C2-2修改特定职工的订单运费