Ubuntu下配置和编译cpp-ethereum客户端
Ethereum,中文翻译是“以太坊”,是一个公有区块链的开源项目。因为以太坊是基于P2P网络所以没有中心节点,所以用户仅安装Ethereum客户端即可连入Ethereum公共网络或者在自己的testnet下运行Ethereum。
以太坊客户端有很多语言的版本。
本文选用的是C++版本。配置过程如下:
参考:http://ethdocs.org/en/latest/ethereum-clients/cpp-ethereum/index.html#installing-and-building
环境:Ubuntu15.10 x64
1. 安装“eth”命令行工具
sudo add-apt-repository ppa:ethereum/ethereum-qt
sudo add-apt-repository ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install cpp-ethereum
2. 安装Mix IDE(可选)
sudo apt-get install mix-ide
mix-ide
3. 获取源码
git clone --recursive https://github.com/ethereum/webthree-umbrella.git
这个工程中可能会因为网络原因模块下载出错。一种比较笨的办法是删除下载webthree-umbrella目录,重新运行上面git clone命令
4. 配置编译环境
sudo apt-get -y update
sudo apt-get -y install language-pack-en-base
sudo dpkg-reconfigure locales
sudo apt-get -y install software-properties-common
sudo add-apt-repository "deb http://llvm.org/apt/wily/ llvm-toolchain-wily-3.7 main"
wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
sudo apt-get -y update
sudo apt-get -y install llvm-3.7-dev
sudo add-apt-repository -y ppa:ethereum/ethereum-qt
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo add-apt-repository -y ppa:ethereum/ethereum-dev
sudo apt-get -y update
//sudo apt-get -y upgrade //官方教程中这一步会更新系统,去掉此命令
sudo apt-get -y install build-essential git cmake libboost-all-dev libgmp-dev \
libleveldb-dev libminiupnpc-dev libreadline-dev libncurses5-dev \
libcurl4-openssl-dev libcryptopp-dev libmicrohttpd-dev libjsoncpp-dev \
libargtable2-dev libedit-dev mesa-common-dev ocl-icd-libopencl1 opencl-headers \
libgoogle-perftools-dev qtbase5-dev qt5-default qtdeclarative5-dev \
libqt5webkit5-dev libqt5webengine5-dev ocl-icd-dev libv8-dev libz-dev sudo apt-get -y install libjsonrpccpp-dev
sudo apt-get -y install qml-module-qtquick-controls qml-module-qtwebengine
5. 编译
mkdir build
cd build
cmake ..
make
(or)
make -j <number> //Execute makefile with multiple cores in parallel
6. 测试
在终端运行eth命令就会开始启动cpp-ethereum客户端
namenode@namenodeIn1035:~/Code/ethereum$ eth
(忘截图了,用下载区块的图代替吧-_-)
Ubuntu下配置和编译cpp-ethereum客户端的更多相关文章
- ubuntu 18 下配置 WebStorm 编译 sass
ubuntu 18 下配置 WebStorm 编译 scss 标签(空格分隔): IDE 安装Ruby: sudo apt-get install ruby ruby -v ruby 2.5.1p57 ...
- Ubuntu下配置Nginx HTTPS
HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版.即HTTP下加入S ...
- (4)Linux(ubuntu)下配置Opencv3.1.0开发环境的详细步骤
Ubuntu下配置opencv3.1.0开发环境 1.最近工作上用到在Ubuntu下基于QT和opencv库开发应用软件(计算机视觉处理方面),特把opencv的配置过程详细记录,以供分享 2.步骤说 ...
- 转[开发环境配置]在Ubuntu下配置舒服的Python开发环境
在Ubuntu下配置舒服的Python开发环境 Ubuntu 提供了一个良好的 Python 开发环境,但如果想使我们的开发效率最大化,还需要进行很多定制化的安装和配置.下面的是我们团队开发人员推荐的 ...
- Ubuntu下配置C/C++开发环境
在 Ubuntu 下配置 C/C++ 开发环境 转自:白巴的临时空间 Submitted by 白巴 on 2009-04-27 19:52:12. 学习笔记 虽然 Ubuntu 的版本已经是9.04 ...
- [转]Ubuntu下配置NFS服务
[转]Ubuntu下配置NFS服务 http://blog.163.com/liu8821031%40126/blog/static/111782570200921021253516/ Table ...
- Ubuntu下配置tftp服务
Ubuntu下配置tftp服务 1.安装TFTP软件 sudo apt-get install tftp-hpa tftpd-hpa tftp-hpa是客户端,tftpd-hpa是服务器端 2.建立t ...
- CAS (2) —— Mac下配置CAS到Tomcat(客户端)
CAS (2) -- Mac下配置CAS到Tomcat(客户端) tomcat版本: tomcat-8.0.29 jdk版本: jdk1.8.0_65 cas版本: cas4.1.2 cas-clie ...
- Ubuntu下配置python完成爬虫任务(笔记一)
Ubuntu下配置python完成爬虫任务(笔记一) 目标: 作为一个.NET汪,是时候去学习一下Linux下的操作了.为此选择了python来边学习Linux,边学python,熟能生巧嘛. 前期目 ...
随机推荐
- HTTP传送协议
HTTP传送协议--学习笔记 HTTP数据传输格式 基本格式为: 请求或应答行 请求或应答头部 空行 数据 POST传送格式 底层数据通信: 客户端请求: POST /response.php HTT ...
- c++ socket 客户端库 socks5 客户端 RudeSocket™ Open Source C++ Socket Library
介绍 一个c++ socket 客户端库 http://www.rudeserver.com/socket/index.html The RudeSocket™ Open Source C++ Soc ...
- Cheatsheet: 2015 03.01 ~ 03.31
Web The Architecture of Algolia's Distributed Search Network No promises: asynchronous JavaScript wi ...
- Datatable分页
using System; using System.Collections.Generic; using System.Web; using System.Data; /// <summary ...
- [HDOJ5933]ArcSoft's Office Rearrangement(贪心)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5933 题意:长度为nn的数组: a_1, a_2, \cdotsa1,a2,⋯, 每次操作 ...
- CUBRID学习笔记 27 数据类型4
范围比较 数字和字符串比较 字符串被转为double SELECT i FROM t WHERE i <= all {'11','12'}; i ============= 1 2 3 4 字符 ...
- ServiceStack.OrmLite 笔记5 改
修改 db.Update(new Person { Id = 1, FirstName = "Jimi", LastName = "Hendrix", Age ...
- iOS - OC 与 Swift 互相操作
前言 在 Swift 语言中,我们可以使用 Objective-C.C 语言编写代码,我们可以导入任意用 Objective-C 写的 Cocoa 平台框架.Objective-C 框架或 C 类库. ...
- JCO事务管理
/* * 标准对账单过账 * @account 标准对账单号 * @year 年度 */ public List<String> doAccountStatmentPost(String ...
- accessor method & mutator method
import java.time.*; public class MyTest{ public static void main(String[] args){ LocalDate date = Lo ...