Interacting with Ethereum using JSON-RPC
You can completely avoid using web3.js and interact with your Ethereum node using JSON-RPC. It is a stateless, lightweight RPC protocol. Etherum JSON-RPC exposes various APIs that can be used within the same process, over sockets, over HTTP, or in various message passing environments.
These APIs are commonly used to interact with blockchain where JavaScript is not supported. In this recipe, you will learn to communicate with Ethereum using various JSON-RPC commands.
Getting ready
You need to have a fully functioning Ethereum node to test these APIs. By default, both geth and Parity expose port 8545 for JSON-RPC. Some examples are given in JavaScript, but you can use any programming language that supports HTTPS requests.
Make sure that you are starting your geth node with enough --rpcapi
permissions:
$ geth --rpc --rpcapi "web3,eth,personal"
We will focus on a few important APIs here and you can always find the complete list for reference at github.com/ethereum...