Security News
ESLint is Now Language-Agnostic: Linting JSON, Markdown, and Beyond
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
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.
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);
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 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 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.
This is a sub-package of web3.js.
web3-eth
contains modules to interact with the Ethereum blockchain and smart contracts.
You can install the package either using NPM or using Yarn
npm install web3-eth
yarn add web3-eth
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 |
[4.1.0]
RpcErrorMessages
that contains mapping for standard RPC Errors and their messages. (#6230)TransactionGasMismatchInnerError
for clarity on the error in TransactionGasMismatchError
(#6215)MissingGasInnerError
for clarity on the error in MissingGasError
(#6215)rpc_method_wrapper
(signTypedData
) for the rpc calls eth_signTypedData
and eth_signTypedData_v4
(#6286)signTypedData
method to the Web3Eth
class (#6286)getEncodedEip712Data
method that takes an EIP-712 typed data object and returns the encoded data with the option to also keccak256 hash it (#6286)signTypedData
method to eth_rpc_methods
for the rpc calls eth_signTypedData
and eth_signTypedData_v4
(#6286)eth_signTypedData
and eth_signTypedData_v4
to web3_eth_execution_api
(#6286)Eip712TypeDetails
and Eip712TypedData
to eth_types
(#6286)json-schema
as a main json schema type (#6264)estimateGas
unless transaction builder options.fillGas
is false. (#6249)blockHeaderSchema
properties causing some properties to not appear in response of newHeads
subscription (#6243)blockHeaderSchema
properties causing some properties to not appear in response of newHeads
subscription (#6243)CommonSubscriptionEvents &
at every child class of Web3Subscription
(#6262)_processSubscriptionResult
and _processSubscriptionError
has been written in the base class Web3Subscription
and maid public
. (#6262)formatSubscriptionResult
could be used to customize data formatting instead of re-implementing _processSubscriptionResult
. (#6262)CommonSubscriptionEvents &
for the first generic parameter of Web3Subscription
when inheriting from it. (#6262)MissingGasError
error message changed for clarity (#6215)input
and data
are no longer auto populated for transaction objects if they are not present. Instead, whichever property is provided by the user is formatted and sent to the RPC provider. Transaction objects returned from RPC responses are still formatted to contain both input
and data
properties (#6294)input
and data
are now optional properties on PopulatedUnsignedBaseTransaction
(previously input
was a required property, and data
was not available) (#6294)is-my-json-valid
with zod
dependency. Related code was changed (#6264)ValidationError
and JsonSchema
were changed (#6264)blockHeaderSchema
properties causing some properties to not appear in response of newHeads
subscription (#6243)RawValidationError
was removed (#6264)RawValidationError
was removed (#6264)FAQs
Web3 module to interact with the Ethereum blockchain and smart contracts.
The npm package web3-eth receives a total of 404,719 weekly downloads. As such, web3-eth popularity was classified as popular.
We found that web3-eth demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 open source maintainers collaborating on the project.
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.
Security News
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
Security News
Members Hub is conducting large-scale campaigns to artificially boost Discord server metrics, undermining community trust and platform integrity.
Security News
NIST has failed to meet its self-imposed deadline of clearing the NVD's backlog by the end of the fiscal year. Meanwhile, CVE's awaiting analysis have increased by 33% since June.