1. 创建账号
创建账号可以使用creat
函数,该函数生成并返回一个包含私钥和公钥的Web3Account对象。为了创建私钥,它使用了一个经过审计的包ethereum-cryptography/secp256k1
,该包提供了具有特定特征的加密安全随机数。更多信息:https://www.npmjs.com/package/ethereum-cryptography#secp256k1-curve
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. 获取指定账户的余额
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. 查询区块高度
web3.eth.getBlockNumber().then(console.log)
// => 5833659n
4. 查询交易信息
web3.eth.getTransaction('0xa38e44f7badbed4d607ed0902f0b45bdc03cc360dc18d5ce12d4ed44d60602f4').then(console.log)
// {accessList: Array(0), blockHash: '0xb68b993cbd4fcf5a8df5adfbb5439ab3fc72e8b9b52e67e6ea5930d2a5f92c95', blockNumber: 5833651n, chainId: 11155111n, from: '0x668e1d61eb2872d4bf6dd17d32dc5f1fd993a6ad', …}
5. 获取当前gas价格
web3.eth.getGasPrice().then(console.log);
// => 5833679n
声明:本作品采用署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)进行许可,使用时请注明出处。
Author: mengbin
blog: mengbin
Github: mengbin92
cnblogs: 恋水无意
腾讯云开发者社区:孟斯特