以太坊Go、Java、Python、Ruby、JS客户端介绍
文章出于:http://wangxiaoming.com/blog/2016/06/19/ethereum-10/
go-ethereum
go-ethereum客户端通常被称为geth,它是个命令行界面,执行在Go上实现的完整以太坊节点。通过安装和运行geth,可以参与到以太坊前台实时网络并进行以下操作:
- 挖掘真的以太币
- 在不同地址间转移资金
- 创建合约,发送交易
- 探索区块历史
- 及很多其他
链接:
- 网站: http://ethereum.github.io/go-ethereum/
- Github: https://github.com/ethereum/go-ethereum
- 维基百科: https://github.com/ethereum/go-ethereum/wiki/geth
- Gitter: https://gitter.im/ethereum/go-ethereum
pyethapp
Pyethapp是以python为基础的客户端,实现以太坊加密经济状态机。python实现旨在提供一个更容易删节和扩展的代码库。Pyethapp利用两个以太坊核心组成部分来实现客户端:
- pyethereum —— 核心库,以区块链、以太坊模拟机和挖矿为特征
- pydevp2p —— 点对点网络库,以节点发现和运输多码复用和加密连接为特征
链接:
- Github: https://github.com/ethereum/pyethapp
- 维基百科: https://github.com/ethereum/pyethapp/wiki/Getting-Started
- Gitter聊天: https://gitter.im/ethereum/pyethapp
ethereumjs-lib
正如黄皮书中所说,ethereumjs-lib是核心以太坊功能的javascript库。这是个简单的元模块,提供以下模块。大部分JS模块都在ethereumjs上有跟踪。
- 虚拟机 – 以太坊虚拟机和状态处理功能
- 区块链 – 区块链管理
- 区块 – 区块模式定义和验证
- 交易 – 交易模式定义和验证
- 账户 – 账户模式定义和验证
- rlp – 循环长度前缀序列化
- Trie – 改良的Merkle Patricia树
- Ethash – 以太坊工作量证明算法
- utils – 多样辅助功能
- devp2p – 网络协议
- devp2p-dpt – 有争议的对等端表
链接:
- Github: https://github.com/ethereumjs/ethereumjs-lib
- 加入Gitter聊天: https://gitter.im/ethereum/ethereumjs-lib
Ethereum(J)
Ethereum(J) 是以太坊协议的纯Java实现。它作为可以嵌入任何Java/Scala项目的库提供,并为以太坊协议及附属服务提供完全支持。Ethereum(J)最开始由Roman Mandeleil开发,现在受 资助。
Ethereum(J)支持CPU挖矿。目前它由纯Java实现,可用于私人和测试网络。你甚至可以在实时以太坊网络上挖矿,但是这样从经济角度来说不划算。
链接:
- 博客: http://ethereumj.io/
- Github: https://github.com/ethereum/ethereumj
- Gitter聊天: https://gitter.im/ethereum/ethereumj
ethereumH
这个程序包提供了写在Haskell上的工具,能使你连接到以太坊区块链。
链接:
Github: https://github.com/blockapps/ethereumH BlockApps: http://www.blockapps.net/
Parity
Parity 声称是世界上最快速最轻便的客户端。它用Rust语言写成,可靠性、性能和代码清晰度都有所增强。Parity由Ethcore开发。Ethcore由以太坊基金会的几个会员创建。
- 网站: https://ethcore.io/parity.html
- Github: https://github.com/ethcore/parity
- Gitter聊天: https://gitter.im/ethcore/parity
Arch Linux 程序包由Afri Schoedon和quininer进行社群维护。
https://aur.archlinux.org/packages/parity/(稳定,最新版本) https://aur.archlinux.org/packages/parity-git/(不稳定,最新开发)
已经有人报告在树莓派2上成功运行了Parity。
ruby-ethereum
ruby-ethereum是以太坊虚拟机上的一个实现,用Ruby语言写成。
链接:
相关:
- ruby-serpent: 捆绑在以太坊 Serpent编译器上的Ruby语言.
- ethereum-ruby: 一个pure-Ruby JSON-RPC包装,用于和以太坊节点交流。要使用这个库,你需要有运行的以太坊节点和可行的IPC支持(默认)。目前支持go-ethereum 客户端。
参考资料:
文章中的列表对应的链接可以参考《Ethereum Homestead Documentation》第41页1.2.4 go-ethereum