Lumaktaw sa pangunahing content
Change page

Backend API libraries

Huling pag-edit: @wackerow(opens in a new tab), Hulyo 26, 2024

In order for a software application to interact with the Ethereum blockchain (i.e. read blockchain data and/or send transactions to the network), it must connect to an Ethereum node.

For this purpose, every Ethereum client implements the JSON-RPC specification, so there is a uniform set of methods that applications can rely on.

If you want to use a specific programming language to connect with an Ethereum node, there are many convenience libraries within the ecosystem that make this much easier. With these libraries, developers can write intuitive, one-line methods to initialize JSON-RPC requests (under the hood) that interact with Ethereum.

Prerequisites

It might be helpful to understand the Ethereum stack and Ethereum clients.

Why use a library?

These libraries abstract away much of the complexity of interacting directly with an Ethereum node. They also provide utility functions (e.g. converting ETH to Gwei) so as a developer you can spend less time dealing with the intricacies of Ethereum clients and more time focused on the unique functionality of your application.

Available libraries

Infrastructure and node services

Alchemy - Ethereum Development Platform.

All That Node - Node-as-a-Service.

Blast by Bware Labs - Decentralized APIs for Ethereum Mainnet and Testnets.

BlockPi - Provide more efficient and fast RPC services

Cloudflare Ethereum Gateway.

Etherscan - Block Explorer and Transaction APIs

GetBlock- Blockchain-as-a-service for Web3 development

Infura - The Ethereum API as a service.

Node RPC - Cost-effective EVM JSON-RPC provider

NOWNodes - Full Nodes and Block Explorers.

QuickNode - Blockchain Infrastructure as a Service.

Rivet - Ethereum and Ethereum Classic APIs as a service powered by open source software.

Zmok - Speed-oriented Ethereum nodes as JSON-RPC/WebSockets API.

Development tools

ethers-kt - Async, high-performance Kotlin/Java/Android library for EVM-based blockchains.

Nethereum - An open source .NET integration library for blockchain.

Python Tooling - Variety of libraries for Ethereum interaction via Python.

Tatum - The ultimate blockchain development platform.

web3j - A Java/Android/Kotlin/Scala integration library for Ethereum.

Blockchain services

BlockCypher - Ethereum Web APIs.

Chainbase - All-in-one web3 data infrastructure for Ethereum.

Chainstack - Elastic and dedicated Ethereum nodes as a service.

Coinbase Cloud Node - Blockchain Infrastructure API.

DataHub by Figment - Web3 API services with Ethereum Mainnet and testnets.

Moralis - Enterprise-Grade EVM API Provider.

NFTPort - Ethereum Data and Mint APIs.

Tokenview - The General Multi-Crypto Blockchain APIs Platform.

Watchdata - Provide simple and reliable API access to Ethereum blockchain.

Covalent - Enriched blockchain APIs for 200+ Chains.

Further reading

Know of a community resource that helped you? Edit this page and add it!

  • Nodes and clients
  • Development frameworks
  • Set up Web3js to use the Ethereum blockchain in JavaScript – Instructions for getting web3.js set up in your project.
  • Calling a smart contract from JavaScript – Using the DAI token, see how to call contracts function using JavaScript.

Nakatulong ba ang artikulong ito?