选择以太坊客户端
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了选择以太坊客户端相关的知识,希望对你有一定的参考价值。
参考技术A有很多以太坊客户端供我们选择。我们推荐在开发和部署时使用不同的客户端。
我们推荐 Ganache ,它是一个运行在你个人电脑上的私有连客户端。它是 truffle 套种中的一部分,
Ganache 将智能合约和交易放在前台并且中心化,从而简化了dapp的开发。使用 Ganache 你可以
快速查看你们的应用是如何影响区块链的,并且对账户,余额,智能合约创建以及燃料消费进行自省。
Ganache 运行在 http://127.0.0.1:7545 。默认会创建是个账户,重启后账户依然不会变,
当然也可以手动随机账户,你也可以用你自己的账户。
我们同样也推荐使用 truffle develop ,它是 truffle 内置的开发链工具。不需要任何的额外安装,
你要使用它只需要一条命令行即可:
Truffle Develop 运行在 http://127.0.0.1:9545 上。
当你的开发机没有图形界面时就无法直接使用 Ganache ,而 Ganache CLI 就提供了没有图形界面系统的能力。
有很多官方和非官网的以太坊客户端你可以选择。以下是部分:
以太坊连载:以太坊GoJavaPythonRubyJS客户端介绍
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开发,现在受 <ether.camp>资助。
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语言写成。
链接:
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
下一篇文章我们将会介绍《以太坊连载(11):以太坊账户管理》
感谢朝夕团队Azure, Bob参与《Ethereum Homestead Documentation》的翻译和校验。
原文:http://wangxiaoming.com/blog/2016/06/19/ethereum-10/
以上是关于选择以太坊客户端的主要内容,如果未能解决你的问题,请参考以下文章