Security News
RubyGems.org Adds New Maintainer Role
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
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.
yarn add web3-eth
build
: Runs yarn clean
and yarn compile
clean
: Uses rimraf
to remove lib/
and buildcache/
compile
: Uses tsc
to build package and depedenent packageslint
: Uses prettier
and eslint
to lint packagelint:check
: Uses prettier and eslint
to check if package has been lintedtest
: Uses jest
to run all teststest:integration
: Uses jest
to run tests under /test/integration
test:unit
: Uses jest
to run tests under /test/unit
[4.0.0-alpha.0]
Note: Yarn is resolving to some old deprecated package versions for 4.0.0-alpha.0 instead of latest alpha versions. A patch bump is posted so yarn users should use 4.0.1-alpha.0 for testing.
web3-errors
new package is created, it has Web3 Error codes and classesweb3-types
new package is created, it provides the common data structures and interfaces for web3 modulesweb3-validator
new package is created, it has JSON-Schema compatible validator functionality for Web3errors
are moved to web3-errors
package and formatters are moved in web3-core
packageweb3-core-method
functionality is moved to web3-eth
packageweb3-core
packageweb3-core
packageweb3-core
packageextend
is deprecatedoutputBigNumberFormatter
in web3-core-helper
renamed to outputBigIntFormatter
under web3-core
this.defaultBlock
context from inputDefaultBlockNumberFormatter
in web3-core-helper
and converted to additional parameterthis.defaultBlock
context from inputTransactionFormatter
in web3-core-helper
and converted to additional parametersoliditySha3
soliditySha3Raw
encodePacked
now includes type validation and requires type specification, instead of guessing the value typesoliditySha3
, soliditySha3Raw
and encodePacked
did not support BN; But, now supports BigInt
flattenTypes
and jsonInterfaceMethodToString
moved to the web3-eth-abi
packageisAddress
now includes an optional parameter checkChecksum
type booleanisBoolean
now accept 1
, and 0
as valid values to test. Ref: web3-validator
create
function does not take in the optional parameter entropy
Wallet.create
function doesn't accept entropy
paramisBoolean
now accept 1
, and 0
as valid values to test.signTransaction
will not fill any default values, and it will only sign and return result. For filling default values, use web3-eth
packagerecover
function's last param is boolean hashed
, it is used to indicate if data provided is already hashed or not. By default, this function will assume data is not hashed.Wallet
no longer supports address/number indexing. Have to use wallet.get
instead.Wallet.create
function doesn't accept entropy
paramcontract.method.send()
will resolve to transaction receipt instead of transactionHash
. User can use receipt.transactionHash
instead.isDirect
, isValid
, isIndirect
are now also included as static methods.setMultihash
is not supported in web3-eth-ens 4.x as it's deprecated in ENS public resolver (https://github.com/ensdomains/resolvers/blob/master/contracts/PublicResolver.sol)setContent
is not supported in web3-eth-ens 4.x as it's deprecated in ENS public resolver (https://github.com/ensdomains/resolvers/blob/master/contracts/PublicResolver.sol)getContent
is not supported in web3-eth-ens 4.x as it's deprecated in ENS public resolver.getMultihash
is not supported in web3-eth-ens 4.x as it's deprecated in ENS public resolver.internalType
was renamed to baseType
in all abi typesgivenProvider
default value is undefineddefaultHardfork
default value is 'london'defaultAccount
default value is undefineddefaultNetworkId
default value is undefinedtransactionSendTimeout
, throw an Error.clearSubscriptions
Instead of returning true
, clearSubscriptions
now returns array of subscription's idsgivenProvider
default value is undefinedcurrentProvider
default value is undefinedFAQs
Web3 module to interact with the Ethereum blockchain and smart contracts.
The npm package web3-eth receives a total of 215,904 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
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.
Security News
Research
Socket's threat research team has detected five malicious npm packages targeting Roblox developers, deploying malware to steal credentials and personal data.