Web3.js常用API(一)

2024-05-09 16:54:16 浏览数 (2)

1. 创建账号

创建账号可以使用creat函数,该函数生成并返回一个包含私钥和公钥的Web3Account对象。为了创建私钥,它使用了一个经过审计的包ethereum-cryptography/secp256k1,该包提供了具有特定特征的加密安全随机数。更多信息:https://www.npmjs.com/package/ethereum-cryptography#secp256k1-curve

代码语言:javascript复制
web3.eth.accounts.create();

// {address: '0x609526f489453960665FE2A57646ce82ED833432', privateKey: '0x3afbb985211d17b9cdb5b3e7fd9f1017952d19275b4f6d31ed9f15bffb2e6185', signTransaction: ƒ, sign: ƒ, encrypt: ƒ}
// address : "0x609526f489453960665FE2A57646ce82ED833432"
// encrypt : (password, options) => {…}
// privateKey : "0x3afbb985211d17b9cdb5b3e7fd9f1017952d19275b4f6d31ed9f15bffb2e6185"
// sign : data => {…}
// signTransaction : transaction => {…}
// [[Prototype]] : Object

2. 获取指定账户的余额

代码语言:javascript复制
web3.eth.getBalance('0x609526f489453960665FE2A57646ce82ED833432').then(console.log);
// => 0n
const balance = web3.eth.getBalance('0x668E1d61eB2872D4bF6dd17D32DC5f1FD993A6AD');
// => 4282301411292605000n

// 单位转换
const balanceEth = web3.utils.fromWei(balance,'ether');
// => 4.282301411292605
const balanceWei = web3.utils.toWei(0.3,'ether')
// => 300000000000000000

3. 查询区块高度

代码语言:javascript复制
web3.eth.getBlockNumber().then(console.log)
// => 5833659n

4. 查询交易信息

代码语言:javascript复制
web3.eth.getTransaction('0xa38e44f7badbed4d607ed0902f0b45bdc03cc360dc18d5ce12d4ed44d60602f4').then(console.log)
// {accessList: Array(0), blockHash: '0xb68b993cbd4fcf5a8df5adfbb5439ab3fc72e8b9b52e67e6ea5930d2a5f92c95', blockNumber: 5833651n, chainId: 11155111n, from: '0x668e1d61eb2872d4bf6dd17d32dc5f1fd993a6ad', …}

5. 获取当前gas价格

代码语言:javascript复制
web3.eth.getGasPrice().then(console.log);
// => 5833679n

声明:本作品采用署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)[1]进行许可,使用时请注明出处。 Author: mengbin[2] blog: mengbin[3] Github: mengbin92[4] cnblogs: 恋水无意[5] 腾讯云开发者社区:孟斯特[6]

References

[1] 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0): https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh [2] mengbin: mengbin1992@outlook.com [3] mengbin: https://mengbin.top [4] mengbin92: https://mengbin92.github.io/ [5] 恋水无意: https://www.cnblogs.com/lianshuiwuyi/ [6] 孟斯特: https://cloud.tencent.com/developer/user/6649301

0 人点赞