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.
npm install web3yarn add web3Use the prebuilt dist/web3.min.js, or
build using the web3.js repository:
npm run-script buildThen include dist/web3.js in your html file.
This will expose Web3 on the window object.
Or via jsDelivr CDN:
<script src="https://cdn.jsdelivr.net/npm/web3@latest/dist/web3.min.js"></script>UNPKG:
<script src="https://unpkg.com/web3@latest/dist/web3.min.js"></script>// in node.js
var Web3 = require('web3');
var 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);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 can be found at ReadTheDocs.
sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install npmBuild only the web3.js package:
npm run-script buildOr build all sub packages as well:
npm run-script build-allThis will put all the browser build files into the dist folder.
npm testPlease follow the Contribution Guidelines and Review Guidelines.
This project adheres to the Release Guidelines.
- Haskell: hs-web3
- Java: web3j
- PHP: web3.php
- Purescript: purescript-web3
- Python: Web3.py
- Ruby: ethereum.rb
- Scala: web3j-scala
