[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參考資料