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
This contains useful utility functions for Dapp developers.
Please read the documentation for more.
Installation
Node.js
npm install web3-utils
In the Browser
Build running the following in the web3.js repository:
npm run-script build-all
Then include dist/web3-utils.js
in your html file.
This will expose the Web3Utils
object on the window object.
Usage
var Web3Utils = require('web3-utils');
console.log(Web3Utils);
{
sha3: function(){},
soliditySha3: function(){},
isAddress: function(){},
...
}
Types
All the typescript typings are placed in the types folder.