一、选择客户端

为什么有多个以太坊客户端?

以太坊客户端与Java虚拟机和.NET运行环境类似,能够让你在电脑上运行“以太坊程序”。以太坊客户端按照书面说明(黄皮书)执行,特意设计为可以彼此协作,有点儿像“商品”。

项目早期,在众多不同的操作系统中就有多个可以彼此协作的客户端实现。客户端的多样性对于整个生态系统来说是巨大的成功。它使我们能够证明协议是明确清晰的,为创新打开大门,也让我们都保持诚实。但是对终端用户来说,没有通用的“以太坊安装程序”可供他们使用,可能引起他们的困惑。

进入到Homestead阶段以后,Go客户端占据了主导地位,但情况并不一直是这样,将来也并不必然如此。除了EthereumH,其他客户端都有Homestead兼容的版本。下面的表格包含了最新的版本链接。

客户端 语言 开发者 最新版本

go-ethereum Go 以太坊基金会 go-ethereum-v1.4.9
Parity Rust Ethcore Parity-v1.2.1
cpp-ethereum C++ 以太坊基金会 cpp-ethereum-v1.2.9
pyethapp Python 以太坊基金会 pyethapp-v1.2.3
ethereumjs-lib Javascript 以太坊基金会 ethereumjs-lib-v3.0.0
Ethereum(J) Java <ether.camp> ethereumJ-v1.3.0-RC3-daoRescue2
ruby-ethereum Ruby Jan Xie ruby-ethereum-v0.9.3
ethereumH Haskell BlockApps 尚无Homestead 版本

二、安装客户端

很多“官方”客户端的开发都由以太坊基金会管理的资源资助。还有一些其他的客户端由社群或其他商业实体建立。

本章关于特定客户端的小节中可以阅读到更多有关特定客户端的内容。

台式机/笔记本电脑上应该安装什么?
如果你有笔记本电脑或者台式机,大概只需要安装以太坊钱包就可以了。

  • 从Github下载最新的以太坊钱包压缩文件
  • 在任意你希望的位置解锁
  • 点击可执行文件(Ethereum-Wallet, Ethereum-Wallet 或 Ethereum-Wallet.app)
  • 区块链数据将会被下载

以太坊钱包是Mist浏览器“单独的DApp”部署方式,它将成为Homestead之后Metropolis开发的核心。Mist附有绑定的 go-ethereum 和 cpp-ethereum 二进制。如果Mist开启的时候,你没有在运行命令行以太坊客户端,它就会开始运行其中一个绑定的客户端。

如果你想在命令行和以太坊互动,并且利用JavaScript控制台,那么你会想直接安装一个客户端软件以及Mist。

开始的时候最适合选择 go-ethereum 和 cpp-ethereum,因为它们的开发始于项目之初,经过了安全审查,适用于所有平台,并且其维护有以太坊基金会指定资源扶持。

  • 安装cpp-ethereum,需按照安装二进制指令
  • go-ethereum只需解压已发布的二进制。

奇偶检验正很快流行起来。 当然这也取决于个人偏好。可以都试一下 :–) 要是你想挖矿,只有Mist是不够的。查阅挖矿章节。

手机/平板电脑上应该安装什么?

移动设备上的软件支持还在起步阶段。Go团队正在发布试用的iOS和安卓程序库,一些开发者正在用程序库开始研究手机应用辅助程序,但是目前还没有任何可用的以太坊手机客户端(目前出现了JAXX,支持安卓、iOS等多个平台,译者注)。在移动设备上使用以太坊最主要的障碍是Light客户端支持尚不完备。已完成的工作成果在私有分支上关闭,只在Go客户端上可用。 Doublethinkco将在接下来的几个月开始为C++客户端开发Light客户端,接下来会有资金支持。

查看Syng.im,它最先使用了基于Ethereum(J)的 ethereumj-personal,但是最近跳转到了和Light客户端的Geth交叉构建。

单板计算机(SBC)上应该安装什么?

按照技术水平的不同,以及你想要达到的目的,可以有不同的选择。

  • 下载一个充分准备好的安装镜像(链接到有具体下载和安装说明的页面)—— 如果你刚开始使用以太坊AND SBC板,诸如树莓派,那么这就是为你准备的!只需要下载你正在使用的开发板的特定安装镜像,刻录到SD卡上,启动设备。运行以太坊!
  • 下载一个预编译的应用(链接到有具体下载和安装说明的页面)—— 如果你已经有SBC运行,并且有特定、偏好的OS或是想保留的设置,这是你的最佳选择!你可以只根据平台,下载合适的可执行文件,只需最少的资源库链接和PATH设置,就能运行以太坊!
  • 从使用可定制描述语言的资源中创建(链接到有更多细节的页面以及单独的SBC链接
    https://github.com/ethembedded)

—— 想要运行定制的安装程序? 我们有可以从设备的源上编译的描述语言。我们的描述语言包含自动安装依赖的软件以及客户端本身。这就使你能够安装以太坊客户端的特定版本(比如“develop”, “master”等),编译你自己的客户端分叉版本,尝试创建程序中的各种复杂的问题找到最佳解决方案。

参考资料:
文章中的列表对应的链接可以参考《Ethereum Homestead Documentation》第16页1.2.1 Choosing a client

下一篇文章我们将会介绍《以太坊连载(七):C++客户端的安装与定制》

感谢朝夕团队Azure, Bob参与《Ethereum Homestead Documentation》的翻译和校验。

汪晓明
HPB芯链创始人,巴比特专栏作家。十余年金融大数据、区块链技术开发经验,曾参与创建银联大数据。主创区块链教学视频节目《明说》30多期,编写了《以太坊官网文档中文版》,并作为主要作者编写了《区块链开发指南》,在中国区块链社区以ID“蓝莲花”知名。

汪晓明
7 声望6 粉丝

HPB芯链创始人,巴比特专栏作家。十余年金融大数据、区块链技术开发经验,曾参与创建银联大数据。主创区块链教学视频节目《明说》30多期,编写了《以太坊官网文档中文版》,并作为主要作者编写了《区块链开发指南...