What is web3-utils?
The web3-utils package provides utility functions for Ethereum dapps and other web3.js applications. It includes methods for unit conversion, address formatting, and encoding/decoding of data among other utilities.
What are web3-utils's main functionalities?
Unit Conversion
Converts Wei to other units of Ether such as 'ether', 'gwei', etc.
const Web3Utils = require('web3-utils');
let etherValue = Web3Utils.fromWei('21000000000000', 'ether');
Address Formatting
Converts an Ethereum address to a checksum address to prevent case-sensitivity errors.
const Web3Utils = require('web3-utils');
let checksumAddress = Web3Utils.toChecksumAddress('0xfb6916095ca1df60bb79ce92ce3ea74c37c5d359');
Data Encoding and Decoding
Encodes data using SHA3 or other encoding methods.
const Web3Utils = require('web3-utils');
let encodedData = Web3Utils.sha3('Some data to be hashed');
Random Hex Strings
Generates a random hex string of a given size.
const Web3Utils = require('web3-utils');
let randomHex = Web3Utils.randomHex(32);
BN (BigNumber)
Creates a BigNumber instance which can handle large integers safely.
const Web3Utils = require('web3-utils');
let bigNumber = Web3Utils.toBN('123456');
Other packages similar to web3-utils
ethers
Ethers is a complete Ethereum library and wallet implementation. It provides a similar set of utilities for unit conversion, address handling, and encoding/decoding data. It is often considered a lighter and more modular alternative to web3.js.
ethereumjs-util
Ethereumjs-util is a collection of utility functions for Ethereum, such as account creation and conversion, transaction signing, and data encoding. It is a part of the ethereumjs suite of packages and is more focused on lower-level operations compared to web3-utils.
bignumber.js
While not Ethereum-specific, bignumber.js is a general-purpose library for arbitrary-precision decimal and non-decimal arithmetic. It can be used in place of the BN (BigNumber) functionality provided by web3-utils.
web3-utils
This is a sub-package of web3.js.
web3-utils
This contains useful utility functions for Dapp developers.
Installation
You can install the package either using NPM or using Yarn
Using NPM
npm install web3-utils
Using Yarn
yarn add web3-utils
Usage
const Web3Utils = require('web3-utils');
console.log(Web3Utils);
{
sha3: function(){},
soliditySha3: function(){},
isAddress: function(){},
...
}
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 |