Research
Security News
Threat Actor Exposes Playbook for Exploiting npm to Build Blockchain-Powered Botnets
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
web3-utils
Advanced tools
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.
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');
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 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.
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.
This is a sub-package of web3.js.
web3-utils
This contains useful utility functions for Dapp developers.
You can install the package either using NPM or using Yarn
npm install web3-utils
yarn add web3-utils
const Web3Utils = require('web3-utils');
console.log(Web3Utils);
{
sha3: function(){},
soliditySha3: function(){},
isAddress: function(){},
...
}
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 |
FAQs
Collection of utility functions used in web3.js.
The npm package web3-utils receives a total of 917,628 weekly downloads. As such, web3-utils popularity was classified as popular.
We found that web3-utils 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.
Research
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
Security News
NVD’s backlog surpasses 20,000 CVEs as analysis slows and NIST announces new system updates to address ongoing delays.
Security News
Research
A malicious npm package disguised as a WhatsApp client is exploiting authentication flows with a remote kill switch to exfiltrate data and destroy files.