Go-Ethereum
gas * price + value 資金不足
發送地址的目前餘額超過 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 價格上漲時,交易有時會失敗!即使您知道它不會那麼貴,您也應該使用合理的數量。