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.
- alchemy.com(opens in a new tab)
- Documentation(opens in a new tab)
- GitHub(opens in a new tab)
- Discord(opens in a new tab)
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
- blockpi.io(opens in a new tab)
- Documentation(opens in a new tab)
- GitHub(opens in a new tab)
- Discord(opens in a new tab)
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.
- zmok.io(opens in a new tab)
- GitHub(opens in a new tab)
- Documentation(opens in a new tab)
- Discord(opens in a new tab)
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.
- py.ethereum.org(opens in a new tab)
- web3.py GitHub(opens in a new tab)
- web3.py Chat(opens in a new tab)
Tatum - The ultimate blockchain development platform.
- Tatum(opens in a new tab)
- GitHub(opens in a new tab)
- Documentation(opens in a new tab)
- Discord(opens in a new tab)
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.
- chainstack.com(opens in a new tab)
- Documentation(opens in a new tab)
- Ethereum API reference(opens in a new tab)
Coinbase Cloud Node - Blockchain Infrastructure API.
DataHub by Figment - Web3 API services with Ethereum Mainnet and testnets.
Moralis - Enterprise-Grade EVM API Provider.
- moralis.io(opens in a new tab)
- Documentation(opens in a new tab)
- GitHub(opens in a new tab)
- Discord(opens in a new tab)
- Forum(opens in a new tab)
NFTPort - Ethereum Data and Mint APIs.
- nftport.xyz(opens in a new tab)
- Documentation(opens in a new tab)
- GitHub(opens in a new tab)
- Discord(opens in a new tab)
Tokenview - The General Multi-Crypto Blockchain APIs Platform.
- services.tokenview.io(opens in a new tab)
- Documentation(opens in a new tab)
- GitHub(opens in a new tab)
Watchdata - Provide simple and reliable API access to Ethereum blockchain.
Covalent - Enriched blockchain APIs for 200+ Chains.
- covalenthq.com(opens in a new tab)
- Documentation(opens in a new tab)
- GitHub(opens in a new tab)
- Discord(opens in a new tab)
Further reading
Know of a community resource that helped you? Edit this page and add it!
Related topics
Related tutorials
- 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.