在以太坊网络中,交易(transactions)是用户之间转移资产的主要方式,并非每一笔交易都会被打包进区块链中。区块链节点一直运行,通过竞争的方式来打包交易,最优的打包方案可以获取奖励(ETH),因此节点都想让自己的的交易尽快被打包,从而获取奖励或者让自己的交易更快的实现。
为了让交易尽快被打包,有时候可以通过调整交易速度或者手续费(gas price)的方式来提高交易优先级,这其中涉及到一些计算和策略。而 npm 包 block-tx
就提供了很方便的工具来帮助我们完成这个任务。
前置要求
在使用 block-tx
前,需要先做好以下工作:
- 确保已经安装了 Node.js 和 npm。
- 了解如何使用 npm 包管理器。
安装 block-tx
在终端中运行以下命令:
npm install -g block-tx
这条命令将会全局安装 block-tx
包,以便在命令行中调用。
使用 block-tx
block-tx
提供了以下命令:
block-tx help
:获取帮助文档。block-tx gas [speed]
:计算不同速度下的 gas price。block-tx fastest
:获取当前 gas 最快的速度下的 gas price。block-tx push [rawTx]
:将交易写入池中并等待被打包。
计算 gas price
block-tx gas [speed]
默认情况下,block-tx gas
会计算以下四种速度下的 gas price:safeLow
、average
、fast
和 fastest
。如果指定了 [speed]
参数,则只会计算指定的速度。
以下是一些示例:
# 计算所有速度下的 gas price block-tx gas # 计算 fast 速度下的 gas price block-tx gas fast # 计算 slow 和 average 速度下的 gas price block-tx gas safeLow,average
获取当前最快的 gas price
block-tx fastest
这条命令会获取当前 gas 最快的速度下的 gas price。
提交交易
block-tx push [rawTx]
这条命令会将 [rawTx]
参数指定的交易写入池中并等待被打包。
[rawTx]
参数可以是字符串形式的交易数据,例如:
block-tx push "0xe083098a66803........................"
也可以是包含交易字段的 JSON 文件路径,例如:
block-tx push ./transactions/tx1.json
如果要指定 gas price,可以通过 -p
或 --price
参数来完成,例如:
block-tx push ./transactions/tx1.json --price 5
如果要指定 gas limit,可以通过 -l
或 --limit
参数来完成,例如:
block-tx push ./transactions/tx1.json --limit 50000
结束语
本文介绍了 npm 包 block-tx
的使用方法,希望对大家有帮助。在实际使用过程中,可以根据自己的需要方便地调整 gas price 和 gas limit,提高交易打包成功的概率。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055d2081e8991b448dad1d