以太坊Go、Java、Python、Ruby、JS客户端介绍

作者:HPB_汪晓明(HPB Team)

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。

原文地址:https://www.cnblogs.com/blockchain/p/9277907.html

时间: 2024-08-29 15:43:38

以太坊Go、Java、Python、Ruby、JS客户端介绍的相关文章

如何用python和flask以太坊智能合约开发

将数据存储在数据库中是任何软件应用程序不可或缺的一部分.无论如何控制该数据库都有一个该数据的主控.区块链技术将数据存储到区块链网络内的区块中.因此,只要某个节点与网络同步,它们就会获得区块中数据的副本.因此,该技术中没有特定的数据主控. 在本教程中,我们将编写一份智能合约(我将进一步解释),以便在区块链上保留用户数据.我们将使用python web3(web3的python库)来开发和部署智能合约.一旦我们在区块链上部署了智能合约.我们将使用flask API与智能合约进行交互以存储一些数据/信

node.js如何发送以太坊交易?

" 注意:在本教程中我使用web3js 1.0版本 " 大家好,我将解释如何从NodeJS后端发送交易.我将使用rinkeby testnet并将创建一个路由器,还添加一些节点模块并使用infura http接口来完成教程. 我们需要web3js,express和ethereumjs-tx模块来执行交易.之后你需要从Infura输入你自己的api key,登录到infura. 开始 首先,你需要为此项目创建一个空文件夹,以便更轻松地访问它.创建文件夹后,你需要在该文件夹中打开命令she

如何保护你的以太坊网络节点RPC免受******?

最近朋友的以太坊节点遭到******,存储在Geth钱包中的以太币通过暴露的RPC端口命令被转移出去,Transfer可以在下面看到. 下图显示了最近向***帐户的转移: 保护计算机系统传统上是一场斗智斗勇,Gosser说"穿透者试图找到漏洞,设计师试图关闭它们." 与大多数比特币客户端不同,默认情况下,大多数以太坊客户端RPC不受密码保护. 尽管如此,有多种方法可以保护以太坊节点RPC. 其中一些方法包括: 1.为帐户选择一个强密码. 2.使用Nginx作为反向代理和HTTP基本身份

Metamask不能访问以太坊账户?隐私模式!

当你使用Metamask测试以太坊DApp时,如果出现莫名其妙的问题,检查一下web3.eth.accounts是否可以获取到账户,如果不能获取的话,那么最大的可能是你使用了新版的Metamask,并且默认启用了隐私模式. 有两种办法来让你的DApp可以正常访问Metamask管理的账户:关闭隐私模式,或者修改代码使其兼容隐私模式. 一.关闭隐私模式 在metamask中首先进入设置,然后点击security & privacy,在隐私模式菜单,选择关闭隐私模式即可: 二.兼容隐私模式 在201

以太坊智能合约及应用开发简介

在这个入门教程中我们将建立以太坊应用开发环境并学习编写一个投票智能合约. 在这个教程中,让我们构建一个简单的"Hello World!" 应用程序, 这是一个投票应用程序. 该应用程序非常简单,它所做的只是初始化一组候选人,让任何人投票给候选人,并显示每个候选人收到的总票数. 我有意避免使用任何DAPP框架构建这个应用程序,因为框架抽象掉很多细节,你不了解系统的内部.此外,当你使用框架时,将对框架所做的繁重工作有更多的体会! 1. 设置开发环境 我们使用一个模拟的内存区块链(ganac

以太坊是什么 - 以太坊开发入门指南

很多同学已经跃跃欲试投入到区块链开发队伍当中来,可是又感觉无从下手,本文将基于以太坊平台,以通俗的方式介绍以太坊开发中涉及的各晦涩的概念,轻松带大家入门. 以太坊是什么 以太坊(Ethereum)是一个建立在区块链技术之上, 去中心化应用平台.它允许任何人在平台中建立和使用通过区块链技术运行的去中心化应用. 对这句话不理解的同学,姑且可以理解为以太坊是区块链里的Android,它是一个开发平台,让我们就可以像基于Android Framework一样基于区块链技术写应用. 在没有以太坊之前,写区

【区块链】以太坊(Ethereum )高级进阶实战视频教程

[区块链]以太坊(Ethereum )高级进阶实战视频教程视频教程地址:http://edu.51cto.com/course/14785.html 课程大纲: 课程概要介绍使用bootnode搭建以太坊私有链web3j介绍及基本使用使用web3j管理账户default block parameter以太坊交易详解ERC20代币介绍使用web3j部署ERC20代币合约账户解锁web3j调用代币合约方法(一)web3j调用代币合约方法(二)web3j调用代币合约方法(三)深入sendTransac

以太坊虚拟机介绍

近期打算写一些关于以太坊虚拟机(后面简称EVM)的文章,这是其中的第一篇.这一系列文章想站在EVM指令集的角度,带领读者逐步理解EVM工作原理,进而理解以太坊区块链技术细节.由于网上介绍以太坊的文章也比较多,所以这一系列文章将最大程度减少不必要的废话,直接提供文章想要表达的信息. EVM基本信息编程语言虚拟机一般有两种类型,基于栈,或者基于寄存器.大部分我们所熟知的语言都采用基于栈的虚拟机,比如最著名的Java虚拟机.在游戏领域非常流行的Lua语言则采用了基于寄存器的虚拟机.和JVM一样,EVM

以太坊:Truffle框架入门之运行MetaCoin

一.Truffle是什么? Truffle是一个世界级的开发环境,测试框架,以太坊的资源管理通道,致力于让以太坊上的开发变得简单,Truffle有以下: 内置的智能合约编译,链接,部署和二进制文件的管理. 快速开发下的自动合约测试. 脚本化的,可扩展的部署与发布框架. 部署到不管多少的公网或私网的网络环境管理功能 使用EthPM&NPM提供的包管理,使用ERC190标准. 与合约直接通信的直接交互控制台(写完合约就可以命令行里验证了). 可配的构建流程,支持紧密集成. 在Truffle环境里支持