Go-Ethereum

gas * price + value 資金不足

  • August 7, 2019

發送地址的目前餘額超過 1 個 Eth。

使用Geth控制台,我可以發送許多小於 0.033 的任何金額的交易

eth.sendTransaction({to:'0x8B9da75fda99bAd680154050Ba386523CA3AD112', 
from:'0x62396567241bC92Ee3D082AC3C4144511Ec6c773',
value:web3.toWei(.033,'ether'),gas:30000})

"0x113dd5b9c8bb6d48fe2b3ef16576905f6e46aa4ed6cd080120a2aaf54113e7b4"

如果我嘗試發送 0.034 ETH 或更高,那麼我總是會收到此錯誤。

eth.sendTransaction({to:‘0x8B9da75fda99bAd680154050Ba386523CA3AD112’,
from:‘0x62396567241bC92Ee3D082AC3C4144511Ec6c773’,value:web3.toWei(.034
,’ether’),gas:

30000000000000000000000000000000000000000000元:20

在 web3.js:6023:15

在 web3.js:4995:36

在:1:1

這似乎是 geth 中的一個錯誤,請嘗試此處提供的解決方案:https ://github.com/ethereum/go-ethereum/issues/2173

他們認為解決方案是:

將所有值轉換為十六進制(如果使用 bash,則使用 bc)

確保同時指定 gas 和 gasPrice!將所有值括在單引號中 eth.sendTransaction({from:‘0x123456’, to:‘0x123456’, value: ‘0x8AC4270ACC4B7FF7’, gas: ‘0x5208’, gasPrice: ‘0x4A817C800’});"

我想添加一個重要資訊:

gas * price + value 真正的意思是MAXGas * price。

在我的案例中,由於 gas 限制設置得太高,gas 價格上漲時,交易有時會失敗!即使您知道它不會那麼貴,您也應該使用合理的數量。

引用自:https://ethereum.stackexchange.com/questions/9043