explaingit

web3/web3.js

19,935TypeScriptAudience · developerComplexity · 3/5StaleSetup · easy

TLDR

TypeScript library for interacting with Ethereum blockchain from JavaScript apps. Now discontinued as of March 2025; use ethers.js or viem instead.

Mindmap

mindmap
  root((repo))
    What it does
      Read blockchain data
      Send transactions
      Call smart contracts
      Manage accounts
    Key modules
      Core Ethereum interaction
      ABI encoding/decoding
      Account signing
      ENS naming
    Use cases
      DeFi applications
      NFT platforms
      Wallet software
      Developer tools
    Tech stack
      TypeScript
      JavaScript
      Ethereum JSON RPC
    Status
      Discontinued March 2025
      Seek alternatives

Things people build with this

USE CASE 1

Build decentralized finance (DeFi) applications that read balances and execute trades on Ethereum.

USE CASE 2

Create NFT platforms that query blockchain data and mint or transfer digital assets.

USE CASE 3

Develop wallet software that signs transactions and manages user accounts on Ethereum.

USE CASE 4

Build developer tools that interact with smart contracts and monitor blockchain events.

Tech stack

TypeScriptJavaScriptEthereumJSON RPC

Getting it running

Difficulty · easy Time to first run · 5min

Library is discontinued; use ethers.js or viem instead

License could not be detected automatically. Check the repository's LICENSE file before use.

In plain English

Web3.js is a TypeScript library that lets developers interact with the Ethereum blockchain from JavaScript or TypeScript applications. Ethereum is a public blockchain network where programs called smart contracts run. To communicate with Ethereum, reading data from the blockchain, sending transactions, or calling smart contract functions, your application needs to speak the Ethereum JSON RPC protocol, a specific message format that Ethereum nodes understand. Web3.js handles all of that communication so developers can work with familiar JavaScript function calls instead of raw protocol messages. The library is modular: it ships as a collection of packages covering different areas. The core ethereum interaction module handles blocks, transactions, and smart contract calls. Separate packages handle ABI encoding and decoding (the format used to encode data for smart contracts), account management and signing, ENS (Ethereum's human-readable naming system for wallet addresses), and utility functions for working with Ethereum data formats. An important note from the README: the Web3.js library was sunset on March 4, 2025, the project has officially been discontinued by its maintainer ChainSafe Systems, which has published migration guidance on its blog. Developers starting new Ethereum projects should use alternative libraries like ethers.js or viem instead. When it was actively maintained, you would use Web3.js for any JavaScript or TypeScript application that needed to read from or write to the Ethereum blockchain, decentralized finance apps, NFT platforms, wallets, or developer tools.

Copy-paste prompts

Prompt 1
Show me how to use Web3.js to read the balance of an Ethereum wallet address and display it in my app.
Prompt 2
How do I send a transaction to the Ethereum blockchain using Web3.js? Walk me through the signing and submission process.
Prompt 3
I need to call a smart contract function using Web3.js. Show me how to encode the function call and read the result.
Prompt 4
Web3.js is discontinued. Help me migrate my existing Web3.js code to ethers.js with examples.
Prompt 5
Explain how Web3.js handles ABI encoding so I can understand what data format smart contracts expect.
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.