Skip to content
This repository was archived by the owner on Mar 5, 2025. It is now read-only.
/ web3.js Public archive

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

License

Notifications You must be signed in to change notification settings

web3/web3.js

Repository files navigation

PREVIEW RELEASE This is a beta preview release with breaking changes! The current stable version is 0.20.0

Web3.js logo

web3.js - Ethereum JavaScript API

npm Build Status Coverage Status Join the chat at https://gitter.im/ethereum/web3.js

This is the Ethereum JavaScript API which connects to the Generic JSON RPC spec.

You need to run a local or remote Ethereum node to use this library.

Please read the documentation for more.

Installation

Node

npm install web3

Yarn

yarn add web3

Usage

import Web3 from 'web3';

const web3 = new Web3('ws://localhost:8546');
console.log(web3);
> {
    eth: ... ,
    shh: ... ,
    utils: ...,
    ...
}

Additionally you can set a provider using web3.setProvider() (e.g. WebsocketProvider)

web3.setProvider('ws://localhost:8546');
// or
web3.setProvider(new Web3.providers.WebsocketProvider('ws://localhost:8546'));

There you go, now you can use it:

web3.eth.getAccounts()
.then(console.log);

Usage with TypeScript

We do support types within the repo itself. Please open an issue here if you find any wrong types.

You can use web3.js as follows:

import Web3 from 'web3';
const web3 = new Web3("ws://localhost:8546");

Documentation

Documentation can be found at read the docs

Building

Requirements

Building

npm run build // Bundle all modules

// Or

cd packages/web3-eth
npm run build // This will just bundle the web3-eth module

cd packages/web3-eth
npm run dev // This module will be bundled each time a file has changed

Testing

npm run test

Contributing

  • All contributions have to go into develop (0.20.x), or the 1.0 branch
  • Please follow the code style of the other files, we use 4 spaces as tabs.

Support

chrome firefox opera node

Community

Similar libraries in other languages