连接到以太坊客户端

以太坊客户端通过 JSON-RPC 的方式暴露了很多方法来与应用程序进行交互。然而对于应用开发者而言,直接通过JSON-RPC进行交互会有一些额外的负担,比如:

  • JSON-RPC协议的实现
  • 创建智能合约和与智能合约交互所需的二进制码的编码/解码
  • 256位的数值类型处理
  • 一些管理功能的支持 - 比如创建/管理地址、对交易进行签名等

于是一些相关功能库被开发出来帮助解决这些问题,使应用开发者能专注于他们的应用程序,而不是去花时间进行与以太坊客户端乃至生态系统交互管道疏通上的一些基础性工作。

Library Language Project Page
web3.js JavaScript https://github.com/ethereum/web3.js
web3j Java https://github.com/web3j/web3j
Nethereum C# .NET https://github.com/Nethereum/Nethereum
ethereum-ruby Ruby https://github.com/DigixGlobal/ethereum-ruby

每个工具库的介绍请参考以下章节:

关于通过使用web3.js进行智能合约的创建和交互的总体介绍,请参考 访问合约和交易