Socket
Socket
Sign inDemoInstall

web3

Package Overview
Dependencies
2
Maintainers
1
Versions
467
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    web3

Ethereum JavaScript API, middleware to talk to a ethereum node over RPC


Version published
Weekly downloads
409K
increased by8.56%
Maintainers
1
Install size
3.86 MB
Created
Weekly downloads
 

Package description

What is web3?

The web3 npm package is a collection of libraries that allow you to interact with a local or remote Ethereum node, using HTTP, IPC, or WebSocket. It provides functionalities for interacting with smart contracts, sending transactions, and querying blockchain data.

What are web3's main functionalities?

Connecting to an Ethereum Node

This feature allows you to connect to an Ethereum node using an HTTP provider. You can replace the URL with your own node's URL or use a service like Infura.

const Web3 = require('web3');
const web3 = new Web3('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID');

Interacting with Smart Contracts

This feature allows you to interact with smart contracts deployed on the Ethereum blockchain. You need the contract's ABI and address to create a contract instance and call its methods.

const contractABI = [/* ABI array */];
const contractAddress = '0xYourContractAddress';
const contract = new web3.eth.Contract(contractABI, contractAddress);
contract.methods.yourMethod().call().then(console.log);

Sending Transactions

This feature allows you to send transactions on the Ethereum network. You need the sender's account address and private key to sign and send the transaction.

const account = '0xYourAccountAddress';
const privateKey = 'your_private_key';
const tx = {
  to: '0xRecipientAddress',
  value: web3.utils.toWei('0.1', 'ether'),
  gas: 2000000
};
web3.eth.accounts.signTransaction(tx, privateKey).then(signed => {
  web3.eth.sendSignedTransaction(signed.rawTransaction)
    .on('receipt', console.log);
});

Querying Blockchain Data

This feature allows you to query data from the blockchain, such as retrieving the latest block information.

web3.eth.getBlock('latest').then(console.log);

Other packages similar to web3

Readme

Source

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 statusCoverage StatusStories in Ready

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

Documentation

Installation

Node.js

$ npm install web3

Meteor.js

$ meteor add ethereum:web3

As Browser module

Bower

$ bower install web3

Component

$ component install ethereum/web3.js
  • Include ethereum.min.js in your html file. (not required for the meteor package)
  • Include bignumber.js (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 (QtSyncProvider, HttpProvider)

web3.setProvider(new web3.providers.HttpProvider('http://localhost:8545'));

There you go, now you can use it:

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

For another example see example/index.html.

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

Testing (karma)

Karma allows testing within one or several browsers.

npm run-script karma # default browsers are Chrome and Firefox
npm run-script karma -- --browsers="Chrome,Safari" # custom browsers

Please note this repo is in it's early stage.

If you'd like to run a Http ethereum node check out cpp-ethereum.

Install ethereum and spawn a node:

eth -j

Keywords

FAQs

Last updated on 26 Jun 2015

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc