鍍金池/ 教程/ Linux/ 以太坊C++客戶端的安裝與定制(一)
創(chuàng)建安全多簽名錢包及高級設(shè)置
以太坊發(fā)展歷史回顧
如何使用CPU挖礦?
導(dǎo)入預(yù)售錢包,更新、備份、恢復(fù)賬號
錢包、以太幣、Gas介紹
公有鏈、聯(lián)盟鏈、私有鏈及網(wǎng)絡(luò)配置介紹
以太坊客戶端的選擇與安裝
以太坊社區(qū)、基金會、貢獻(xiàn)者介紹
以太坊賬戶管理
什么是挖礦和Ethash算法?
如何使用Homestead文檔及以太坊路線圖
如何使用GPU和礦池挖礦?
以太坊是什么?
Web 3:去中心化應(yīng)用平臺
什么是以太幣?如何獲取?
以太坊Go、Java、Python、Ruby、JS客戶端介紹
搭建測試網(wǎng)絡(luò)和私有鏈
以太坊C++客戶端的安裝與定制(一)

以太坊C++客戶端的安裝與定制(一)

文章出于:http://wangxiaoming.com/blog/2016/06/10/ethereum-7/

以太坊C++客戶端:cpp-ethereum

快速入門

  • 以太坊C++客戶端的Github項目是 webthree-umbrella。
  • 我們將恢復(fù)到 cpp-ethereum-github 作為項目重啟的一部分。
  • 如果你只想安裝二進(jìn)制,直接前往安裝二進(jìn)制。
  • 如果你想從源創(chuàng)建,請前往從源創(chuàng)建。
  • 你可以在 cpp-ethereum-gitter 與社區(qū)和開發(fā)者聊天。
  • 開發(fā)者在 cpp-ethereum-development-gitter 上有深度的交流。
  • 請用Github事件跟蹤器記錄所有事件。
  • cpp-ethereum十分便于移植,被運用在廣闊的平臺上。

詳細(xì)說明

項目重啟

項目正在新的領(lǐng)導(dǎo)下經(jīng)歷重新啟動。在寫的時候,我們有很多活動的部分。請對我們有一點耐心。

我們在Homestead簡化了項目命名,盡管一些過去命名的影子還在,2016年5月從Christian有個深入的C++開發(fā)更新。

接下來關(guān)鍵的一步是即將進(jìn)行的git庫重組,這將會把我們的編碼恢復(fù)到cpp-ethereum庫。

我們也正在致力于將編碼庫重新許可為Apache 2.0,這將成為一個放寬核心的長期計劃的高潮。2015年開始了一個將cpp-ethereum核心重新許可為MIT的活動,但一直未完成。這次是對活動的重新激活,尤其是看到了與Linux基金會Hyperledger項目合作的可能性。

現(xiàn)狀(方形是應(yīng)用,圓形是庫)

目標(biāo)重構(gòu):

編碼的歷史

C++以太坊項目在2013年12月由以太坊基金會的前CTO GavinWood發(fā)起。它是第二大受歡迎的客戶端,遠(yuǎn)落后于同樣由以太坊基金會建立的、居于主導(dǎo)地位的geth客戶端。

許多原來的C++開發(fā)者在2015年末和2016年初轉(zhuǎn)移到Slock.it 和Ethcore項目,緊接著C++開發(fā)的資金支持被削減了75%。這些資金削減是為控制基金會成本所做的一部分努力,剛好它們的發(fā)生又先于ETH價值最近達(dá)到的尖峰,這將基金會置于一個更健康的財務(wù)狀況。

查看參與了編碼工作的貢獻(xiàn)者的完整列表

可移植性

以太坊C++客戶端編碼十分便于移植,被成功運用在一系列不同的操作系統(tǒng)和設(shè)備上。 我們繼續(xù)拓展范圍,對pull請求保持開放,給額外的操作系統(tǒng)、編譯器和設(shè)備增加了支持。

經(jīng)驗證適用的操作系統(tǒng)

– 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

操作系統(tǒng)——工作正在進(jìn)行

– Maemo – MeeGo – Tizen

– iOS – tvOS – WatchOS ? Android

經(jīng)驗證適用的設(shè)備

  • 各種臺式機(jī)和筆記本電腦設(shè)備(Windows, OS X, Desktop Linux)

– 64位(重新組裝的二進(jìn)制) – 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

設(shè)備——工作正在進(jìn)行

– 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

二進(jìn)制安裝

cpp-ethereum開發(fā)團(tuán)隊和更廣闊的以太坊社群為各種平臺發(fā)布了很多不同形式的二進(jìn)制版本。本章旨在提供那些版本的完整列表。

如果你知道其他第三方所做的程序包努力, 請在cpp-ethereum gitter頻道告訴我們,我們會添加到這個列表中。

Ubuntu PPA (Personal Package Archive)

我們?yōu)橄旅娴?Ubuntu版本設(shè)置了 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位架構(gòu)。通過從源建立和禁用VMJIT及其他特征,也能夠讓客戶端適用于32位Ubuntu。我們可能會接受pull請求來增加這樣的支持,但不會投入任何時間來專門開發(fā)支持Ubuntu 32位架構(gòu)。

安裝 "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.

最新的穩(wěn)定版本:

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

如果你想用前沿的開發(fā)者版本:

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 Mix IDE

裝載在 Ubuntu上作為開發(fā)者 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主機(jī)。

如果發(fā)生運行時錯誤,報告丟失msvcr120.dll或msvcp120.dll 文件,請從Microsoft安裝Visual C++ Redistributable Packages for Visual Studio 2013。

我們只支持64位架構(gòu)。

通過從源建立和禁用VMJIT及其他特征,也能夠讓客戶端適用于32位Windows。我們可能會接受pull請求來增加這樣的支持,但不會投入任何時間來專門開發(fā)支持Windows 32位架構(gòu)。

大部分使用Windows 的個體現(xiàn)在都有64位硬件。

Windows Chocolatey NuGet程序包

盡管以前做過,但是寫這篇文件的時候我們沒有再生成Chocolatey程序包。

給不熟悉這個技術(shù)的人解釋,它的本質(zhì)是Windows的apt-get—— 一個全球性的無聲的工具安裝程序。

我們想在不久的將來再次支持Chocolatey,和我們在OS X上支持Homebrew以及給Ubuntu安裝PPA的原因一樣。對于有技術(shù)能力的用戶,這樣操作命令行會很方便:

choco install cpp-ethereum

choco update cpp-ethereum

OS X DMG(磁盤映像)

我們?yōu)槊總€版本都生成了OS X磁盤映像。 我們只支持最新的兩個OS X版本: ? OS X Yosemite (10.10) ? OS X El Capitan (10.11)

我們只支持64-比特架構(gòu)。

如果你的系統(tǒng)這兩個OS X版本都不支持,那么很抱歉你不走運啦!

OS X Homebrew程序包

我們在自動架構(gòu)系統(tǒng)里生成了Homebrew程序包。 我們只支持最新的兩個OS X版本: ? OS X Yosemite (10.10) ? OS X El Capitan (10.11)

我們只支持64-比特架構(gòu)。 如果你的系統(tǒng)這兩個OS X版本都不支持,那么很抱歉你不走運啦!

所有的OS X架構(gòu)都需要你事先安裝Homebrew程序包管理器。如果你想從頭開始,這是卸載Homebrew的方法。

要從Homebrew安裝以太坊C++組件,請執(zhí)行以下指令:

brew update
brew upgrade
brew tap ethereum/ethereum
brew install cpp-ethereum
brew linkapps cpp-ethereum

或者……如果你也想創(chuàng)建AlethZero和Mix IDE,請執(zhí)行:

brew install cpp-ethereum --with-gui

要開啟應(yīng)用,在終端窗口輸入其中一個指令:

open /Applications/AlethZero.app
open /Applications/Mix.app
eth

這是Homebrew公式,詳細(xì)描述了所有支持的命令行選項。

Raspberry Pi, Odroid, BeagleBone Black, Wandboard

EthEmbedded的John Gerryts在主要的里程碑為各種SBC創(chuàng)建了二進(jìn)制鏡像,此外為這些設(shè)備檢測和維護(hù)架構(gòu)描述語言。EthEmbedded是2015年5月的devgrant接收者。他給eth和geth都創(chuàng)建了二進(jìn)制。

這是來自EthEmbedded的Homestead二進(jìn)制。

手機(jī)的Linux ARM交叉結(jié)構(gòu), 可穿戴設(shè)備, SBCs

doublethinkco的Bob Summerwill交叉架構(gòu)了ARM二進(jìn)制,對很多種類的硬件都有效,從手機(jī)到可穿戴的Linux發(fā)行版(Sailfish OS, Tizen OS, Ubuntu Touch)到EthEmbedded針對的同樣的SBC。Doublethinkco是2016年2月的BlockGrantX接收者。

查看cpp-ethereum-cross README文件,了解平臺和已知狀態(tài)的全矩陣。

這是來自doublethinkco的交叉建構(gòu)二進(jìn)制:已發(fā)布——Homestead的交叉建構(gòu)eth二進(jìn)制

ArchLinux 用戶庫 (AUR)

Arch Linux程序包是Afri Schoedon維護(hù)的社群。

在aur.archlinux.org上查看以下程序包。

  • ethereum (穩(wěn)定,最新版本)
  • ethereum-git (不穩(wěn)定,最新版本)

要創(chuàng)建和安裝這個程序包,按照AUR安裝程序包說明:

  • 獲取含有PKGBUILD的原始碼
  • 提取原始碼
  • 作為簡單用戶運行所儲存文件目錄里的makepkg –sri
  • 作為超級用戶用pacman –U安裝生成的程序包

你也可以用AUR助手比如yaourt或 pacaur直接在你的系統(tǒng)里安裝程序包。

參考資料:

文章中的列表對應(yīng)的鏈接可以參考《Ethereum Homestead Documentation》第18頁1.2.3 cpp-ethereum