/web3.js

Ethereum JavaScript API

Primary LanguageJavaScriptOtherNOASSERTION

Migration 0.13.0 -> 0.14.0

web3.js version 0.14.0 supports multiple instances of web3 object. To migrate to this version, please follow the guide:

-var web3 = require('web3');
+var Web3 = require('web3');
+var web3 = new Web3();

Ethereum JavaScript API

Join the chat at https://gitter.im/ethereum/web3.js

This is the Ethereum compatible JavaScript API which implements the Generic JSON RPC spec. It's available on npm as a node module, for bower and component as an embeddable js and as a meteor.js package.

NPM version Build Status dependency status dev dependency status Coverage Status Stories in Ready

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

Documentation

Installation

Node.js

npm install web3

Yarn

yarn add web3

Meteor.js

meteor add ethereum:web3

As Browser module

CDN

<script src="https://cdn.jsdelivr.net/gh/ethereum/web3.js/dist/web3.min.js"></script>

Bower

bower install web3

Component

component install ethereum/web3.js
  • Include web3.min.js in your html file. (not required for the meteor package)

Usage

Use the web3 object directly from global namespace:

console.log(web3); // {eth: .., shh: ...} // it's here!

Set a provider (HttpProvider)

if (typeof web3 !== 'undefined') {
  web3 = new Web3(web3.currentProvider);
} else {
  // set the provider you want from Web3.providers
  web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
}

Set a provider (HttpProvider using HTTP Basic Authentication)

web3.setProvider(new web3.providers.HttpProvider('http://host.url', 0, BasicAuthUsername, BasicAuthPassword));

There you go, now you can use it:

var coinbase = web3.eth.coinbase;
var balance = web3.eth.getBalance(coinbase);

You can find more examples in example directory.

Contribute!

Requirements

  • Node.js
  • npm
sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install npm
sudo apt-get install nodejs-legacy

Building (gulp)

npm run-script build

Testing (mocha)

npm test

Community

Other implementations