为什么会有多种类型的客户端?

在以太坊早期的工程中,已经在多种不同的操作系统上实现了多个不同的客户端,这对整个以太坊的生态系统来说是巨大的胜利。它让我们验证了协议的明确性(在以太坊 黄皮书 中指明),向新的革新敞开大门,也让我们都保持诚实。然而,这也让很多新用户倍感困扰,因为自始至终也没有一个 “以太坊安装包” 让他们直接使用。

截止到 2016 年 9 月,最受欢迎的两个客户端分别是: Go 客户端 (go-ethereum) 和 Rust 客户端 (Parity)

Client Language Developers Latest release
Go 客户端 (go-ethereum) Go Ethereum Foundation go-ethereum-v1.4.18
Rust 客户端 (Parity) Rust Ethcore Parity-v1.4.0
C++ 客户端 (cpp-ethereum) C++ Ethereum Foundation cpp-ethereum-v1.3.0
python 客户端 (pyethapp) Python Ethereum Foundation pyethapp-v1.5.0
JavaScript 库 (ethereumjs-lib) Javascript Ethereum Foundation ethereumjs-lib-v3.0.0
Java 客户端 (Ethereum(J)) Java ethereumJ-v1.3.1
Ruby 客户端 (ruby-ethereum) Ruby Jan Xie ruby-ethereum-v0.9.6
Haskell 工具 (ethereumH) Haskell BlockApps no Homestead release yet

我在桌面电脑/笔记本上应该装哪种客户端呢?

大多数用户会选择安装 Mist / Ethereum Wallet ,这足够满足大多数需求了。

以太坊钱包(Ethereum Wallet)起源于家园版本(Homestead),是大都会版本(Metropolis)重点开发的对象,它可以算是 MistBrowser 的一个应用。

Mist 会附带一个 Go 客户端 (go-ethereum) 或 C++ 客户端 (cpp-ethereum) 项目编译出的二进制文件执行档,如果你没有运行命令行版本的以太坊客户端,那么 Mist 启动后会调用其中一个来同步区块链数据(默认使用 geth)。如果你想让 Mist 配合 Parity 客户端使用,或者让 Mist 执行在一个私有链上,那么在启动 Mist 前先启动你的 Parity 客户端,那么 Mist 启动后就会连接到 Parity 节点上而不去启动自己自带的客户端节点。

将 Parity 或其他客户端添加到 Mist 中的工作正在进行中。

如果你想直接使用命令行工具和以太坊进行交互,并且使用 Javascript 控制台进行交互,那么你可以直接安装一个客户端程序,链接请参考上面的表格。

如果你想进行挖矿,那么 Mist 就不能胜任了,你需要参考这个章节第文档: the 挖矿 section.

我在手机/平板上安装哪种客户端呢?

我们对手机移动设备的支持还处于非常初期的阶段,Go 项目组发布了 iOS 和 Android 试验版本的开发库,部分开发者可以基于这个库进行以太坊开发,但是目前还没有可以使用的移动版本的客户端。

以太坊移动版客户端最大的阻碍在于,目前以太坊对于轻量级的支持还不完备。目前只在 Go 客户端的私有链上完成了支持,在接下来的几个月中将针对 C++ 开发轻量级的客户端。

我在单板机上装哪种客户端呢?

根据你的技能等级还有用途,有以下几种方案供你选择:


↙↙↙阅读原文可查看相关链接,并与作者交流