Web3 (JSON/RPC) Libraries
JSON/RPC is the native communications protocol for Ethereum blockchain nodes. JSON/RPC contains a suite of low-level commands that can be sent to a node, over communications protocols including HTTPS and WebSockets.
Web3 Thick Client Libraries
JSON/RPC communications are complex, dealing with binary Recursive Length Prefix (RLP) encoded payloads generated according to an Application Binary Interface (ABI) of the methods on a Smart Contract. To sign and submit a transaction takes many individual calls - including asynchronously polling until the transactions are mined into blocks.
So decentralized application (Dapp) developers seldom program directly to the JSON/RPC APIs themselves.
These thick code libraries handle the low-level interface, and let you build an application layer on top of the simpler programming API provided by that library - once you've taught them about your Smart Contract ABI. These libraries can be embedded into the application tier, and are available for the majority of popular programming languages.
Many web3 libraries are compact enough to embed into a web browser or mobile device, to allow a wallet to be colocated with the end-user application - a common practice for Dapps developed for the public Ethereum network. However, in Enterprise Ethereum applications it is much more common to see the transaction signing tier hosted behind a layer of standard API security, using organization managed keys to perform the signing.
Check out the REST API Gateway where Kaleido provides this application tier pre-built according to best practice, and hosted in a scalable and reliable way.
Web3 (JSON/RPC) client library support
We provide samples for all the common Web3 client libraries for blockchain nodes, when you click in the console to connect to a node.
Web3 Sample Links
Here are direct links to the samples, which include supplying the secure application credentials required to access a Kaleido managed Ethereum node.