web3.js:utils包

2024-05-17 18:45:09 浏览数 (1)

原文在这里[1]

介绍

在这个指南中,你将学习到web3 utils包的不同函数,它包含了如何以不同格式生成随机字节,如何在Hex值和数字之间进行转换,哈希函数,地址,打包填充的方法,最后你将看到如何比较区块号。

安装

只安装web3工具包:

代码语言:javascript复制
$ npm i web3-utils

或者你也可以安装web3库,然后访问web3.utils

代码语言:javascript复制
$ npm i web3

导入

有三种不同的方式来导入utils包。

导入完整的web库

代码语言:javascript复制
// import web3 module
import { Web3 } from "web3";

// no need to initialize a provider
Web3.utils.toHex("web3");
//=> 0x77656233

// initializing  a provider
const web3 = new Web3("https:// eth.llamarpc.com");

// access the utils package
web3.utils.toHex("web3");
//=> 0x77656233

导入utils模块

代码语言:javascript复制
// import utils module
import { utils } from "web3"; 

// access the utils package
utils.toWei("1", "ether")

导入指定方法

代码语言:javascript复制
// import toWei and toHex functions
import { toWei, toHex } from"web3-utils";

// usage
toWei("1", "ether")
toHex("")

方法示例

随机Hex和Bytes

代码语言:javascript复制
// Random bytes in hex format and array format

console.log(web3.utils.randomBytes(32));
/* => array format
Uint8Array(32) [
  251,  70, 124,  65, 203, 180,  92, 234,
  210, 236,  72, 154,  83, 219, 171, 223,
  212, 136, 117, 140,  67, 117,  86,  81,
  234, 245, 148, 186, 175,  83,  98,  78
]
*/

console.log(web3.utils.randomHex(32));
/* => hex string format
0x594386dc9b2e150979416f9b2a093e01f84a37c4f8db5fc1b0d9b1dc83a12c1f
*/

INFO 如果你不给出任何参数,那么这两个函数的默认值都将为32。

转换 - 以太坊面额

我们有两个不同的函数来进行以太坊面额之间的转换。

代码语言:javascript复制
console.log(web3.utils.fromWei("1", "ether")); 
// 0.000000000000000001

console.log(web3.utils.toWei("1", "ether")); 
// 1_000_000_000_000_000_000

转换Hex变量

代码语言:javascript复制
// most versatile one
console.log(web3.utils.toHex(10));
// 0xa

console.log(web3.utils.toHex(true));
// 0x01

console.log(web3.utils.numberToHex(10));
// 0xa

console.log(web3.utils.fromDecimal(10));
// 0xa

const arr = new Uint8Array([1, 2, 3, 4]);

console.log(web3.utils.toHex(arr));
// 0x7b2230223a312c2231223a322c2232223a332c2233223a347d

console.log(web3.utils.bytesToHex(arr));
// 0x01020304

转换UTF和ASCII

代码语言:javascript复制
console.log(web3.utils.utf8ToHex("


	

0 人点赞