前言
在开发以太坊(Ethereum)智能合约应用时,需要关注交易的 gas 费用。每次交易都需要支付一定的 gas 费用,而这个费用取决于当前以太坊网络的拥堵情况。eth-gas-price-suggestor是一个npm包,它提供了获取当前以太坊网络 gas 价格的功能,帮助开发者准确、快速地获取交易的 gas 费用。
安装
eth-gas-price-suggestor 的安装非常简单,只需要在命令行中执行以下命令即可。
npm install eth-gas-price-suggestor
使用
eth-gas-price-suggestor 主要提供了两个方法:
1. getGasPriceSuggestion(): Promise<number>
该方法返回一个 Promise 对象,其中包含一个数字类型的当前 gas 价格,单位为 Gwei。
-- -------------------- ---- ------- ----- -------------------- - ----------------------------------- -------------------- ------------------------ ---------------- -- - --------------- --- --- ----------- -------- -- ------------ -- - ----------------- --- ----- --------- ---
2. abiEncodePacked(types: string[], values: any[]): string
此函数采用与 Solidity ABI 相同的类型编码方案,返回字符串编码结果。
const ethGasPriceSuggestor = require('eth-gas-price-suggestor'); const types = ['uint256', 'string', 'bool']; const values = [100, 'Hello, World!', true]; const encoded = ethGasPriceSuggestor.abiEncodePacked(types, values); console.log(`类型编码结果: ${encoded}`);
示例代码
下面是一个完整的使用示例,获取当前 gas 价格,参数为 web3.toHex(用于区分不同网络):
-- -------------------- ---- ------- ----- -------------------- - ----------------------------------- ----- ---- - ---------------- ----- ---- - --- -------- ------------------------------------------------------ -------------------- ------------------------ ---------------- -- - ----- ----- - ----------------------------------------------------- ----- -------- - - ------ ----- ----------------------- --- --------------------- ------ -- --------- --------------------- --------- ------------------ -- ----- ----- - ------------------------------------- ----------- ---------- ---------- ---------- ---------- ---------- --------- - --------------- ------------ --------------- ------------------ ------------------ ----------------- - ------------------ ----- -- -- --------------- ----------- ---- - --- ------------ ----------- -- ------------ -- - ----------------- --- ----- --------- ---
总结
eth-gas-price-suggestor 是一个非常有用的npm包,通过它可以方便地获取当前以太坊网络的 gas 价格,有助于开发者准确计算交易的 gas 费用。同时,此包还提供了 Solidity ABI 的类型编码方案,让我们方便地对 Solidity 代码进行交互。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055c3481e8991b448d9d38