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

web3/web3.js

Repository files navigation

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

Meteor

meteor npm install --save web3@1.x

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 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");

If you are using the types in a commonjs module like for example a node app you just have to enable esModuleInterop in your tsconfig compile option, also enable allowSyntheticDefaultImports for typesystem compatibility:

"compilerOptions": {
    "allowSyntheticDefaultImports": true,
    "esModuleInterop": true,
    ....

Documentation

Documentation can be found at read the docs

Contributing

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

Requirements

Commands

npm install # install all dependencies for npm run bootstrap
npm run bootstrap # install all dependencies and symlinks the internal modules for all modules
npm run build # runs rollup
npm run test # runs all tests 
npm run clean # removes all the node_modules folders in all modules
npm run dev # runs rollup with a watcher

Support

browsers node

Community

Similar libraries in other languages

About

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

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages