习惯不同语言以太坊开发者可选择客户端

hubwiz · · 974 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

## 为什么会有多种类型的客户端? 在以太坊早期的工程中,已经在多种不同的操作系统上实现了多个不同的客户端,这对整个以太坊的生态系统来说是巨大的胜利。它让我们验证了协议的明确性(在以太坊 [黄皮书](https://github.com/ethereum/yellowpaper) 中指明),向新的革新敞开大门,也让我们都保持诚实。然而,这也让很多新用户倍感困扰,因为自始至终也没有一个“以太坊安装包”让他们直接使用。 截止到2016年9月,最受欢迎的两个客户端分别是: [Go客户端(go-ethereum)](http://ethdoc.cn/ethereum-clients/go-ethereum/index.html#go-ethereum) 和 [Rust客户端(Parity)](http://ethdoc.cn/ethereum-clients/parity/index.html#parity)。 | Client | Language | Developers | Latest release | | --- | --- | --- | --- | | [Go客户端(go-ethereum)](http://ethdoc.cn/ethereum-clients/go-ethereum/index.html#go-ethereum) | Go | [Ethereum Foundation](https://ethereum.org/foundation) | [go-ethereum-v1.4.18](https://github.com/ethereum/go-ethereum/releases/tag/v1.4.18) | | [Rust客户端(Parity)](http://ethdoc.cn/ethereum-clients/parity/index.html#parity) | Rust | [Ethcore](https://ethcore.io/) | [Parity-v1.4.0](https://github.com/ethcore/parity/releases/tag/v1.4.0) | | [C++客户端(cpp-ethereum)](http://ethdoc.cn/ethereum-clients/cpp-ethereum/index.html#cpp-ethereum) | C++ | [Ethereum Foundation](https://ethereum.org/foundation) | [cpp-ethereum-v1.3.0](https://github.com/bobsummerwill/cpp-ethereum/releases/tag/v1.3.0) | | [python客户端(pyethapp)](http://ethdoc.cn/ethereum-clients/pyethapp/index.html#pyethapp) | Python | [Ethereum Foundation](https://ethereum.org/foundation) | [pyethapp-v1.5.0](https://github.com/ethereum/pyethapp/releases/tag/v1.5.0) | | [JavaScript库(ethereumjs-lib)](http://ethdoc.cn/ethereum-clients/ethereumjs-lib/index.html#ethereumjs-lib) | Javascript | [Ethereum Foundation](https://ethereum.org/foundation) | [ethereumjs-lib-v3.0.0](https://github.com/ethereumjs/ethereumjs-lib/releases/tag/v3.0.0) | | [Java客户端(Ethereum(J))](http://ethdoc.cn/ethereum-clients/ethereumj/index.html#ethereum-j) | Java | [<ether.camp>](http://www.ether.camp/) | [ethereumJ-v1.3.1](https://github.com/ethereum/ethereumj/releases/tag/1.3.1) | | [Ruby客户端(ruby-ethereum)](http://ethdoc.cn/ethereum-clients/ruby-ethereum/index.html#ruby-ethereum) | Ruby | [Jan Xie](https://github.com/janx/) | [ruby-ethereum-v0.9.6](https://rubygems.org/gems/ruby-ethereum/versions/0.9.6) | | [Haskell工具(ethereumH)](http://ethdoc.cn/ethereum-clients/ethereumh/index.html#ethereumh) | Haskell | [BlockApps](http://www.blockapps.net/) | no Homestead release yet | ## 我在桌面电脑/笔记本上应该装哪种客户端呢? 大多数用户会选择安装 [Mist / Ethereum Wallet](https://github.com/ethereum/mist) ,这足够满足大多数需求了。 以太坊钱包(Ethereum Wallet)起源于家园版本(Homestead),是大都会版本(Metropolis)重点开发的对象,它可以算是MistBrowser的一个应用。 Mist 会附带一个 [Go客户端(go-ethereum)](http://ethdoc.cn/ethereum-clients/go-ethereum/index.html#go-ethereum) 或 [C++客户端(cpp-ethereum)](http://ethdoc.cn/ethereum-clients/cpp-ethereum/index.html#cpp-ethereum) 项目编译出的二进制文件执行档,如果你没有运行命令行版本的以太坊客户端,那么Mist启动后会调用其中一个来同步区块链数据(默认使用geth)。如果你想让Mist配合Parity客户端使用,或者让Mist执行在一个私有链上,那么在启动Mist前先启动你的Parity客户端,那么Mist启动后就会连接到Parity节点上而不去启动自己自带的客户端节点。 **将Parity或其他客户端添加到Mist中的工作正在进行中。** 如果你想直接使用命令行工具和以太坊进行交互,并且使用Javascript控制台进行交互,那么你可以直接安装一个客户端程序,链接请参考上面的表格。 如果你想进行挖矿,那么Mist就不能胜任了,你需要参考这个章节第文档: the [挖矿](http://ethdoc.cn/mining.html#mining) section. ## 我在手机/平板上安装哪种客户端呢? 我们对手机移动设备的支持还处于非常初期的阶段,Go项目组发布了iOS和Android试验版本的开发库,部分开发者可以基于这个库进行[以太坊开发](http://xc.hubwiz.com/course/5a952991adb3847553d205d1),但是目前还没有可以使用的移动版本的客户端。 以太坊移动版客户端最大的阻碍在于,目前以太坊对于轻量级的支持还不完备。目前只在Go客户端的私有链上完成了支持,在接下来的几个月中将针对C++开发轻量级的客户端。 ## 我在单板机上装哪种客户端呢? 根据你的技能等级还有用途,有以下几种方案供你选择: * 下载一个现成的镜像 * 如果你刚接触以太坊和单板机(比如:树莓派Raspberry Pi [https://www.raspberrypi.org](https://www.raspberrypi.org/))那么这种方案就最适合你。只需要下载一个设备对应的镜像文件,烧录到设备的SD卡中,启动你的设备,运行以太坊。 * 下载一个预先编译的应用程序 * 如果你的单板机已经安装好你需要的系统,并且已经设置完毕,那么这种方案就很适合你。根据你的系统平台,你从下载页下载合适的执行档,然后设置依赖库和环境变量,就可以在现有的环境下运行以太坊了。 * 使用定制的脚本从源代码编译(通过这个链接查看更多细节 [https://github.com/ethembedded](https://github.com/ethembedded)) * 寻找自定义安装的方法?我们会提供可以在在“源设备”上编译的脚本。脚本包括自动安装客户端需要的依赖项。允许你安装指定版本的以太坊客户端(例如:开发版、主线版等),可以编译你自己分支的客户端代码。

有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

974 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传