finds.dev← search

// the find

web3/web3.js

★ 19,934 · TypeScript · NOASSERTION · updated Mar 2025

Collection of comprehensive TypeScript libraries for Interaction with the Ethereum JSON RPC API and utility functions.

web3.js is the original JavaScript/TypeScript library for talking to Ethereum nodes via JSON-RPC — account management, contract calls, ABI encoding, ENS, event subscriptions, all in one monorepo. It's what most Ethereum tutorials from 2016–2022 were written against. As of March 4, 2025, ChainSafe officially sunset it.

- The ABI encoder/decoder (web3-eth-abi) is well-tested and handles all Solidity types including tuples and dynamic arrays — the coders/base directory shows a clean per-type implementation that's easy to audit

- Tree-shaking support added in v4 means you can pull just web3-eth-abi without dragging in the entire library, which was impossible in v1

- Plugin system via web3-core's context augmentation lets you extend the main Web3 instance without forking — the account-abstraction package shows how third-party packages use it

- Migration guides from v1 to v4 are thorough and per-module (separate guides for eth, accounts, contracts, subscriptions, utils), which matters given how different the v4 API is

- It's dead. The README says so in the second line. ChainSafe sunset web3.js on March 4, 2025 — no more bug fixes, no more security patches. Starting a new project on this today is a mistake

- viem and ethers.js v6 have both caught up on features and are actively maintained; viem in particular is significantly smaller, fully type-safe at the ABI level, and has better tree-shaking — there's no technical reason to pick web3.js over them for new projects

- LGPL v3 license is a licensing headache for commercial software — it requires that any modifications to web3.js itself be open-sourced, which legal teams at companies often interpret broadly and conservatively

- The web3-account-abstraction package in the monorepo is essentially a stub (src has three files, zero integration tests) — it was never finished before the sunset, so if ERC-4337 support was why you were looking at this, it's not here

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →