What is web3-eth?
The web3-eth package is a sub-package of the web3.js library that provides functionalities to interact with the Ethereum blockchain. It allows developers to interact with Ethereum nodes, manage accounts, send transactions, and interact with smart contracts.
What are web3-eth's main functionalities?
Connecting to an Ethereum Node
This feature allows you to connect to an Ethereum node using an HTTP provider. In this example, we are connecting to the Ethereum mainnet using Infura.
const Web3 = require('web3');
const web3 = new Web3('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID');
Getting the Balance of an Account
This feature allows you to get the balance of a specific Ethereum account. The balance is returned in Wei, the smallest unit of Ether.
web3.eth.getBalance('0x742d35Cc6634C0532925a3b844Bc454e4438f44e').then(console.log);
Sending a Transaction
This feature allows you to send a transaction from one Ethereum account to another. You need to specify the sender's address, recipient's address, amount of Ether to send, and gas limit.
const tx = {
from: '0xYourAddress',
to: '0xRecipientAddress',
value: web3.utils.toWei('0.1', 'ether'),
gas: 2000000
};
web3.eth.sendTransaction(tx).then(console.log);
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 = '0xContractAddress';
const contract = new web3.eth.Contract(contractABI, contractAddress);
contract.methods.myMethod().call().then(console.log);
Other packages similar to web3-eth
ethers
The ethers.js library is a complete and compact library for interacting with the Ethereum blockchain and its ecosystem. It provides similar functionalities to web3-eth, such as connecting to Ethereum nodes, managing accounts, sending transactions, and interacting with smart contracts. Ethers.js is known for its smaller size and better documentation.
ethjs
Ethjs is a highly modular and lightweight library for interacting with the Ethereum blockchain. It provides similar functionalities to web3-eth, including sending transactions, managing accounts, and interacting with smart contracts. Ethjs is designed to be simple and easy to use, with a focus on modularity.
truffle-contract
Truffle-contract is a library for managing and interacting with Ethereum smart contracts. It provides a higher-level abstraction for working with contracts compared to web3-eth. Truffle-contract is part of the Truffle Suite, which includes tools for developing, testing, and deploying smart contracts.
web3.js - Eth
This is a sub-package of web3.js.
web3-eth
contains modules to interact with the Ethereum blockchain and smart contracts.
Installation
You can install the package either using NPM or using Yarn
Using NPM
npm install web3-eth
Using Yarn
yarn add web3-eth
Getting Started
Prerequisites
Package.json Scripts
Script | Description |
---|
clean | Uses rimraf to remove dist/ |
build | Uses tsc to build package and dependent packages |
lint | Uses eslint to lint package |
lint:fix | Uses eslint to check and fix any warnings |
format | Uses prettier to format the code |
test | Uses jest to run unit tests |
test:integration | Uses jest to run tests under /test/integration |
test:unit | Uses jest to run tests under /test/unit |