返回介绍

以太坊 C++客户端的安装与定制(一)

发布于 2025-02-22 12:27:33 字数 7117 浏览 0 评论 0 收藏 0

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

快速入门

  • 以太坊 C++客户端的 Github 项目是 webthree-umbrella。
  • 我们将恢复到 cpp-ethereum-github 作为项目重启的一部分。
  • 如果你只想安装二进制,直接前往安装二进制。
  • 如果你想从源创建,请前往从源创建。
  • 你可以在 cpp-ethereum-gitter 与社区和开发者聊天。
  • 开发者在 cpp-ethereum-development-gitter 上有深度的交流。
  • 请用 Github 事件跟踪器记录所有事件。
  • cpp-ethereum 十分便于移植,被运用在广阔的平台上。

详细说明

项目重启

项目正在新的领导下经历重新启动。在写的时候,我们有很多活动的部分。请对我们有一点耐心。

我们在 Homestead 简化了项目命名,尽管一些过去命名的影子还在,2016 年 5 月从 Christian 有个深入的 C++开发更新。

接下来关键的一步是即将进行的 git 库重组,这将会把我们的编码恢复到 cpp-ethereum 库。

我们也正在致力于将编码库重新许可为 Apache 2.0,这将成为一个放宽核心的长期计划的高潮。2015 年开始了一个将 cpp-ethereum 核心重新许可为 MIT 的活动,但一直未完成。这次是对活动的重新激活,尤其是看到了与 Linux 基金会 Hyperledger 项目合作的可能性。

现状(方形是应用,圆形是库)

目标重构:

编码的历史

C++以太坊项目在 2013 年 12 月由以太坊基金会的前 CTO GavinWood 发起。它是第二大受欢迎的客户端,远落后于同样由以太坊基金会建立的、居于主导地位的 geth 客户端。

许多原来的 C++开发者在 2015 年末和 2016 年初转移到 Slock.it 和 Ethcore 项目,紧接着 C++开发的资金支持被削减了 75%。这些资金削减是为控制基金会成本所做的一部分努力,刚好它们的发生又先于 ETH 价值最近达到的尖峰,这将基金会置于一个更健康的财务状况。

查看参与了编码工作的贡献者的完整列表

可移植性

以太坊 C++客户端编码十分便于移植,被成功运用在一系列不同的操作系统和设备上。 我们继续拓展范围,对 pull 请求保持开放,给额外的操作系统、编译器和设备增加了支持。

经验证适用的操作系统

– 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

操作系统——工作正在进行

– Maemo – MeeGo – Tizen

– iOS – tvOS – WatchOS • Android

经验证适用的设备

  • 各种台式机和笔记本电脑设备(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

设备——工作正在进行

– 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

二进制安装

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

OS X DMG(磁盘映像)

我们为每个版本都生成了 OS X 磁盘映像。 我们只支持最新的两个 OS X 版本: • OS X Yosemite (10.10) • OS X El Capitan (10.11)

我们只支持 64-比特架构。

如果你的系统这两个 OS X 版本都不支持,那么很抱歉你不走运啦!

OS X Homebrew 程序包

我们在自动架构系统里生成了 Homebrew 程序包。 我们只支持最新的两个 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 install 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 直接在你的系统里安装程序包。

参考资料:

文章中的列表对应的链接可以参考《Ethereum Homestead Documentation》第 18 页 1.2.3 cpp-ethereum

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文