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.
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 |
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.