以太坊Go、Java、Python、Ruby、JS客户端介绍
Go Ethereum 简介
go-ethereum客户端通常被称为geth,它是个命令行界面,执行在Go上实现的完整以太坊节点。通过安装和运行geth,可以参与到以太坊前台实时网络并进行以下操作:
-
挖掘真的以太币
-
在不同地址间转移资金
-
创建合约,发送交易
-
探索区块历史
-
及很多其他
Go Ethereum 链接:
网站: 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-StartedGitter
聊天: https://gitter.im/ethereum/pyethappethereumjs-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-libEthereum(J)
Ethereum(J) 是以太坊协议的纯Java实现。它作为可以嵌入任何Java/Scala项目的库提供,并为以太坊协议及附属服务提供完全支持。Ethereum(J)最开始由Roman Mandeleil开发,现在受 <ether.camp>资助。
Ethereum(J)支持CPU挖矿。目前它由纯Java实现,可用于私人和测试网络。你甚至可以在实时以太坊网络上挖矿,但是这样从经济角度来说不划算。
博客链接:
博客: http://ethereumj.io/Github: https://github.com/ethereum/ethereumjGitter
聊天: https://gitter.im/ethereum/ethereumjethereumH
这个程序包提供了写在Haskell上的工具,能使你连接到以太坊区块链。
工具链接:
Github: https://github.com/blockapps/ethereumHBlockApps: http://www.blockapps.net/
Parity
Parity 声称是世界上最快速最轻便的客户端。它用Rust语言写成,可靠性、性能和代码清晰度都有所增强。Parity由Ethcore开发。Ethcore由以太坊基金会的几个会员创建。
网站: https://ethcore.io/parity.htmlGithub: https://github.com/ethcore/parityGitter
聊天: https://gitter.im/ethcore/parityArch
https://aur.archlinux.org/packages/parity/ (稳定,最新版本)
https://aur.archlinux.org/packages/parity-git/ (不稳定,最新开发),已经有人报告在树莓派2上成功运行了Parity。
Ruby-ethereum介绍:
ruby-ethereum是以太坊虚拟机上的一个实现,用Ruby语言写成。
链接:
Github: https://github.com/janx/ruby-ethereum
Gem: https://rubygems.org/gems/ruby-ethereum
另外ruby-serpent是捆绑在以太坊 Serpent编译器上的Ruby语言. ethereum-ruby: 一个pure-Ruby JSON-RPC包装,用于和以太坊节点交流。要使用这个库,你需要有运行的以太坊节点和可行的IPC支持(默认),目前支持go-ethereum 客户端。
参考资料:文章中的列表对应的链接可以参考《Ethereum Homestead Documentation》第41页1.2.4 go-ethereum。
原文链接:http://wangxiaoming.com/blog/2016/06/19/ethereum-10/