Web3 libraries for working with smart contracts on Ethereum
Today, we will list some of the most famous NodeJS libraries for building Web3 applications. These libraries are listed based on the number of downloads per month, in descending order:
Weekly Downloads — 137,904
A collection of utility functions for Ethereum. It can be used in node.js or can be in the browser with Browserify. The library contains a good number of utility methods to manipulate strings and other Ethereum address related utility functions.
Weekly Downloads — 107,022
You can read a comparison between web3js and ethers.js here.
Weekly Downloads — 63,709
Weekly Downloads— 47,512
Implements schema and functions related to Ethereum’s block. This library helps to build Ethereum mining software and working with Ethereum blocks.
Weekly Downloads — 46,236
A small collection of Ethereum signing functions. You can find examples here to how you can use this library.
Weekly Downloads — 30,429
A lightweight wallet implementation. At the moment it supports key creation and conversion between various formats. It has BIP32 HD keys support, it's lightweight and works in-browser. It doesn’t support signing transactions and managing storage.
Weekly Downloads — 29,577
If you want to hard-fork Ethereum, this is your library. It supports Ethereum Chain Logic, Parameters, and Configuration for
hardfork. It has resources common to all Ethereum implementations.
Weekly Downloads — 26,675
ripemd160 to create hashes.
Weekly Downloads — 24,457
Truffle is a development environment, testing framework and asset pipeline for Ethereum, aiming to make life as an Ethereum developer easier. With Truffle, you get:
- Built-in smart contract compilation, linking, deployment and binary management.
- Automated contract testing with Mocha and Chai.
- Configurable build pipeline with support for custom build processes.
- Scriptable deployment & migrations framework.
- Network management for deploying to many public & private networks.
- Interactive console for direct contract communication.
- An instant rebuilding of assets during development.
- External script runner that executes scripts within a Truffle environment.
Weekly Downloads — 22,250
This library supports Synchronized transactions for better control flow (i.e., transactions won’t finish until you’re guaranteed they’ve been mined). It also supports “Promises” and works well with
async/await. It provides default values for transactions, like
from address or
gas. The library returns logs, transaction receipt and transaction hash of every synchronized transaction.
Weekly Downloads — 20,760
Created by the Zeppelin team, OpenZeppelin is a library for secure smart contract development. It provides implementations of standards like ERC20 and ERC721 (which you can deploy as-is or extend to suit your needs), as well as Solidity components to build custom contracts and more complex decentralized systems.
Weekly Downloads — 13,482
Linting is the process of checking the source code for Programmatic as well as Stylistic errors. This is most helpful in identifying some common and uncommon mistakes that are made during coding.[source]
Ethlint analyzes your Solidity code for style & security issues, and fixes them. Standardize Smart Contract practices across your organization. Integrate with your build system. Deploy with confidence! Solium does not strictly follow Solidity Style Guide. The practices it enforces by default are best practices for the community at large.
Weekly Downloads — 6,690
Truffle Flattener concats Solidity files developed under Truffle with all of their dependencies. This tool helps you to verify contracts developed with Truffle on Etherscan, or debug them on Remix, by merging your files and their dependencies in the right order.
Weekly Downloads — 3,814
Weekly Downloads — 3,814
zoscommand-line interface, which is the recommended way to use ZeppelinOS. Howerver, this library can also be used directly to operate ZeppelinOS projects when a programmatic interface is preferred or more flexibility and lower-level access is required.
Weekly Downloads — 2,215
Embark is a framework that allows you to easily develop and deploy Decentralized Applications (DApps). A Decentralized Application is a serverless html5 application that uses one or more decentralized technologies. Embark currently integrates with EVM blockchains (Ethereum), Decentralized Storages (IPFS), and Decentralized communication platforms (Whisper and Orbit). Swarm is supported for deployment.
Weekly Downloads — 1,931
Waffle is a simplistic and minimalistic build for writing and testing smart contracts. It is minimalistic, has a only a few dependencies, a nice syntax, easy to extend, and a strong focus on the speed of tests execution.
Weekly Downloads — 1,519
We’ve scanned through NPM registry and curated this list. Let us know if we’ve missed something 😃. We know that the Ethereum ecosystem is highly active and a lot of new developments are happening daily. Let us know if you are building something cool 🆒 so we can feature it in our next articles!
QuikNode is building infrastructure to support the future of Web3. Since 2017, we’ve worked with hundreds of developers & companies, helping scale dApps and providing high-performance Ethereum nodes. We’re working on something interesting from the past few months and will be launching soon, so subscribe our newsletter for more updates!! 😃