[TOC]
以太坊 C++客户端:cpp-ethereum
## 7.1快速入门
* 以太坊 C++客户端的 Github 项目是 webthree-umbrella。
* 我们将恢复到 cpp-ethereum-github 作为项目重吪的一部分。
* 如果你只想安装二进制,直接前往安装二进制。
* 如果你想仅源创建,请前往仅源创建。
* 你可以在 cpp-ethereum-gitter 不社区和开发者聊天。
* 开发者在 cpp-ethereum-development-gitter 上有深度的亝流。
* 请用 Github 事件跟踪器记录所有事件。
* cpp-ethereum 十分便于移植,被运用在广阔的平台上。
## 7.2详细说明
项目正在新的领导下经历重新启动。在写的时候,我们有很多活动的部分。请对我们有一点耐心。
我们在 Homestead 简化了项目命名,尽管一些过去命名的影子还在,2016 年 5 月仅 Christian 有个深入的 C++开变更新。
接下来关键的一步是即将进行的 git 库重组,这将会把我们的编码恢复到 cpp-ethereum 库。
我们也正在致力于将编码库重新讲可为 Apache 2.0,这将成为一个放宽核心的长期计划的高潮。2015 年开始了一个将 cpp-ethereum 核心重新讲可为
MIT 的活动,但一直未完成。这次是对活动的重新激活,尤其是看到了不 Linux 基金会 Hyperledger 项目合作的可能性。
现状(方形是应用,圆形是库)
目标重构:
## 7.3编码的历史
C++以太坊项目在 2013 年 12 月由以太坊基金会的前 CTO GavinWood 发起。
它是第事大受欢迎的客户端,迖落后于同样由以太坊基金会建立的、居于主寻地位的 geth 客户端。
许多原来的 C++开发者在 2015 年末和 2016 年初转移到 Slock.it 和 Ethcore 项目,紧接着 C++开发的资金支持被削减了 75%。这些资金削减是为控制基金会成本户做的一部分努力,刚好它们的发生又先于 ETH 价值最近达到的尖峰,这将基金会置于一个更健康的财务状况。
查看参与了编码工作的贡献者的完整列表
## 7.4可移植性
以太坊 C++客户端编码十分便于移植,被成功运用在一系列不同的操作系统和设备上。 我们继续拓展范围,对 pull 请求保持开放,给额外的操作系统、编译器和设备增加了支持。
## 7.5经验证适用的操作系统
* Alpine Linux
* Arch Linux
* Debian 8 (Jessie)
* Fedora 20
* Fedora 21 Fedora 22
* openSUSE Leap 42.1
* Raspbian
* Sailfish
* OS 2.0
* Ubuntu 14.04 (Trusty)
* Ubuntu 14.10 (Utopic)
* Ubuntu
15.04 (Vivid)
* Ubuntu 15.10 (Wily)
* Ubuntu 16.04 (Xenial) –
* Ubuntu Touch
* Ubuntu 15.04 MATE
* FreeBSD
* OS X Yosemite (10.10)
* OS X El Capitan (10.11)
* OS X 10.10
(Yosemite Server 4.0)
* OS X 10.11 (Yosemite Server 5.0)
* OS X 10.11
(Yosemite Server 5.1)
* Windows 7
* Windows 8
* Windows 8.1
* Windows 10
* Windows Server 2012 R2
## 7.6操作系统——工作正在进行
* Maemo
* MeeGo
* Tizen
* iOS
* tvOS
* WatchOS
* Android
## 7.7 经验证适用的设备
各种台式机和笔记本电脑设备(Windows, OS X, Desktop Linux)
– 64 位(重新组装的二进制)
– 32 比特(非官方支持,但可以用)
– Linux Jolla Phone Meizu MX4 Ubuntu Edition * Nexus 5 (SailfishOS 2.0)
– Linux BeagleBone Black Odroid XU3 Project C.H.I.P. Raspberry Pi
Model A Raspberry Pi Model B+ Raspberry Pi Zero Raspberry Pi 2
Raspberry Pi 3 * Wandboard Quad
## 7.8设备——工作正在进行
– Linux * Samsung Gear S2
– BSD * Apple Watch
– Linux Nokia N9 (MeeGo) Nokia N900 (Meemo) Samsung Z1 Samsung Z3
– Android Samsung Galaxy S3 Samsung Galaxy S4
– BSD iPhone 3GS iPhone 5
– Linux Samsung RD-210 Samsung RD-PQ * Samsung TM1
– Android Samsung Galaxy Tab S 10.5 Nexus 7
– BSD * iPad Air 2
– Linux DragonBoard 410c Intel Curie Intel Edison Intel NUC * Minnowboard Max
## 7.9二进制安装
cpp-ethereum 开发团队和更广阔的以太坊社群为各种平台发布了很多不同形式的二进制版本。本章旨在提供那些版本的完整列表。
如果你知道其他第三方户做的程序包努力, 请在 cpp-ethereum gitter 频道告诉我们,我们会添加到这个列表中。
### Ubuntu PPA (Personal Package Archive)
我们为下面的 Ubuntu 版本设置了 PPA 实例。
* Ubuntu Trusty Tahr (14.04)
* Ubuntu Utopic Unicorn (14.10)
* Ubuntu Vivid Vervet (15.04)
* Ubuntu Wily Werewolf (15.10)
* Ubuntu Xenial Xerus (16.04)
我们只支持 64 位架构。通过仅源建立和禁用 VMJIT 及其他特征,也能够让客户端适用于 32 位 Ubuntu。我们可能会接受 pull 请求来增加这样的支持,但不会投入任何时间来与门开发支持 Ubuntu 32 位架构。
安装 "eth"命令行工具警告: The ethereum-qt PPA will upgrade your
system-wide Qt5 installation, from 5.2 on Trusty and 5.3 on Utopic, to
5.5.
最新的稳定版本:
```
#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
```
如果你想用前沿的开发者版本:
```
#sudo add-apt-repository ppa:ethereum/ethereum -qt
#sudo add-apt-repository ppa:ethereum/ethereum
#sudo add-apt-repository ppa:ethereum/ethereum -dev
#sudo apt-get update
#sudo apt-get install cpp -ethereum
```
### 安装 Mix IDE
装载在 Ubuntu 上作为开发者 PPA(见上)。直接按照以上步骤操作,然后再操作:
```
#sudo apt-get install mix-ide
#mix-ide
```
### windows安装
我们对每个版本 都生成了 Windows 安装程序。
可以在 Windows 7, Windows 8/8.1, Windows 10 and Windows Server
2012 R2 上运行,尽管我们的自动编译是基于 Windows 8.1 主机。
如果发生运行时错误,报告丢失 msvcr120.dll 或 msvcp120.dll 文件,请仅
Microsoft 安装 Visual C++ Redistributable Packages for Visual Studio 2013。
我们只支持 64 位架构。
通过仅源建立和禁用 VMJIT 及其他特征,也能够让客户端适用于 32 位 Windows。我们可能会接受 pull 请求来增加这样的支持,但不会投入任何时间来与门开发支持 Windows 32 位架构。大部分使用 Windows 的个体现在都有 64 位硬件。
### Windows Chocolatey NuGet 程序包
尽管以前做过,但是写这篇文件的时候我们没有再生成 Chocolatey 程序包。
给不熟悉这个技术的人解释,它的本质是 Windows 的 apt-get—— 一个全球性的无声的工具安装程序。
我们想在不久的将来再次支持 Chocolatey,和我们在 OS X 上支持 Homebrew 以及给 Ubuntu 安装 PPA 的原因一样。对于有技术能力的用户,这样操作命令行会径方便:
```
choco install cpp-ethereum
choco update cpp-ethereum
```
### OSX DMG (磁盘映像)
我们为每个版本都生成了 OS X磁盘映像。 我们只支持最新的两个 OS X版本:
* OS X Yosemite (10.10)
* OS X El Capitan (10.11)
我们只支持 64-比特架构。如果你的系统这两个 OS X 版本都不支持,那么很抱歉你不走运啦
!
所有的 OS X 架构都需要你事先安装 Homebrew 程序包管理器。如果你想仅头开始,这是卸载 Homebrew 的方法。要仅 Homebrew 安装以太坊 C++组件,请执行以下指令:
```
#brew update
#brew upgrade
#brew tap ethereum/ethereum
#brew intall cpp-ethereum
#brew linkapps cpp-ethereum
```
或者……如果你也想创建AlethZero和Mix IDE,请执行:
```
#brew install cpp-ethereum --with-gui
```
要开启应用,在终端窗口输入其中一个指令:
```
#open /Applications/AlethZero.app
#open /Applications/Mix.app
#eth
```
这是Homebrew公式,详细描述了所有支持的命令行选项。
### Raspberry Pi, Odroid, BeagleBone Black, Wandboard
EthEmbedded 的 John Gerryts 在主要的里程碑为各种 SBC 创建了二进制镜像,此外为这些设备检测和维护架构描述语言。EthEmbedded 是 2015 年 5 月的 devgrant 接收者。他给 eth 和 geth 都创建了二进制。这是来自 EthEmbedded 的 Homestead 二进制。
### 手机的 Linux ARM 交叉结构, 可穿戴设备, SBCs
doublethinkco 的 Bob Summerwill 交叉架构了 ARM 二进制,对很多种类的硬件都有效,仅手机到可穿戴的 Linux 发行版(Sailfish OS, Tizen OS, Ubuntu Touch)到 EthEmbedded 针对的同样的 SBC。Doublethinkco 是 2016 年 2 月的 BlockGrantX 接收者。查看 cpp-ethereum-cross README 文件,了解平台和已知状态的全矩阵。
这是来自 doublethinkco 的交叉建构二进制:已发布——Homestead 的交叉建构 eth 二进制
### ArchLinux 用户库 (AUR)
Arch Linux 程序包是 Afri Schoedon 维护的社群。
在 aur.archlinux.org 上查看以下程序包。
* ethereum (稳定,最新版本)
* ethereum-git (不稳定,最新版本)
要创建和安装这个程序包,按照 AUR 安装程序包说明:
* 获取含有 PKGBUILD 的原始码
* 提取原始码
* 作为简单用户运行户储存文件目彔里的 makepkg –sri
* 作为超级用户用 pacman –U 安装生成的程序包
你也可以用 AUR 助手比如 yaourt 或 pacaur 直接在你的系统里安装程序包。
## 7.10参考资料