Connecting to Ethereum Clients
Ethereum clients expose a number of methods over JSON-RPC for interacting with them from within an application. However, interacting directly over JSON-RPC passes on a number of burdens to the application developers, such as:
- JSON-RPC protocol implementation
- Binary format encoding/decoding for creating and interacting with smart contracts
- 256 bit numeric types
- Admin command support – e.g. create/manage addresses, sign transactions
A number of libraries have been written to help address these issues, allowing application developers to focus on their applications, instead of the underlying plumbing to interact with Ethereum clients and the wider ecosystem.
Information on each library is provided in the following sections:
For an overview of creating and interacting with smart contracts and transactions via the web3.js library, please refer to the section Accessing Contracts and Transactions.
- GitHub: https://github.com/ethereum/web3.js/
- Gitter: https://gitter.im/ethereum/web3.js
- NPM module: https://www.npmjs.com/package/web3
web3j is a lightweight Java library for integrating with clients (nodes) on the Ethereum network.
- Core features:
- Interaction with Ethereum clients over JSON-RPC via Java types
- Supports all JSON-RPC method types
- Supports all Geth and Parity methods for managing accounts and signing transactions
- Sending of client requests both asynchronously and synchronously
- Auto-generation of Java smart contract function wrappers from Solidity ABI files
- GitHub: https://github.com/web3j/web3j
- Website: http://web3j.io
- Wiki: https://github.com/web3j/web3j/wiki
- Gitter: https://gitter.im/web3j/web3j
All the JSON RPC/IPC methods are implemented as they appear in new versions of the clients.
The geth client is the one that is closely supported and tested, including its management extensions for admin, personal, debugging, miner.
Interaction with contracts has been simplified for deployment, function calling, transaction and event filtering and decoding of topics.
The library has been tested in all the platforms .Net Core, Mono, Linux, iOS, Android, Raspberry PI, Xbox and of course Windows.
- GitHub: https://github.com/Nethereum/Nethereum
- Website: http://nethereum.com
- Documentation: https://nethereum.readthedocs.io/en/latest/
- Gitter: https://gitter.im/Nethereum/Nethereum
ethereum-ruby is a pure-Ruby JSON-RPC wrapper for communicating with an Ethereum node. To use this library you will need to have a running Ethereum node with IPC support enabled (default). Currently, the go-ethereum client is supported.
You must be logged in to take the quiz.