Transactions
如何計算轉賬金額以完全清空賬戶?
所以假設我的錢包是 1 eth,我需要完全清空它,我會這樣做
Var value = web3.toWei(1) - gas
是對的嗎?
是的。您需要計算出交易將花費多少 gas(以 ETH 計),但幸運的是,簡單的 ETH 轉賬正好是 21,000 gas(我認為,請仔細檢查這個數字)。這意味著要知道有多少 ETH 將用於 gas,您需要將其乘以所選的 gas 價格(例如,10^10)。
所以你的計算需要看起來像這樣:
var gasPrice = 20*10**9; var gas = 21000; var attoethForGas = gasPrice * gas; var amountToSend = web3.toWei(1) - attoethForGas;
為了計算要發送的準確值,您必須使用 JavaScript 沒有提供的精確計算。幸運的是,web3.js 已經
BigNumber
從eth.getBalance()
. 為了執行精確的數學運算,您需要使用BigNumber
方法而不是使用預設的算術運算符。例如:gasPrice = new BigNumber(web3.toWei('0.6', 'gwei')) cost = gasPrice.mul(21000) value = eth.getBalance(eth.accounts[0]).sub(cost)
發佈時從這些來源中提取了常量: