我正试图把我的气体调到0.5乙醚,但我不知道怎么做。我这里有一个交易tx:
var tx = {
to: "0x73E7D230586B118898aA1FB95FAA6E4119FA0996",
value: ethers.utils.parseEther("0.01"),
gasPrice: ethers.utils.parseUnits('10', 'gwei'),
gasLimit: ethers.utils.parseUnits('0.5', 'ether')
}
它给了我这个错误Error: tx fee (5000000000.00 ether) exceeds the configured cap (1.00 ether)
汽油价格和汽油限值是多少?
谢谢!
发布于 2021-07-30 01:02:49
Gas cost of a transaction = gas consumed * gas price
在正常的eth转移过程中,气体消耗为21000。所以现在你必须设定汽油价格,使乘数为0.5ETH。
var tx = {
to: "0x73E7D230586B118898aA1FB95FAA6E4119FA0996",
value: ethers.utils.parseEther("0.01"),
gasPrice: ethers.utils.parseEther('0.5').div(21000), // 0.5 ETH divided by 21000
}
没有必要设置gasLimit
值,ethers.js为您估算它。(Ethers.js会自动为您放置gasLimit: 21000
)。
注:由于0.5ETH不能完全除以21000,所以总气体消耗量为0.49999 ETH --差不多。
发布于 2021-07-30 03:15:39
gasLimit
是交易使用的气体单位数,而不是该气体的实际价值。您的代码所要做的是使用0.5* 10 ^18气体单元创建一个气体成本为10 gwei (0,00000001醚)/gas单位的事务。实际上,交易成本为0.00000001×0.5x10^18=50亿ETH (也许这有点过高)。然而,由于您的交易是一个简单的转移,它不会实际消耗超过21000单位的气体。如果你真的想支付0.5ETH的燃气费(我看不出有什么原因,但无论你的船是什么浮动),你需要设定汽油价格(而不是限价),所以你的汽油价格x 21000 =0.5ETH。O5ETH是5000000000微卫,所以你的汽油价格需要5000000000/21000 = 238095微卫。
https://ethereum.stackexchange.com/questions/103985
复制相似问题