Web3j

android webj3“gas * price + value資金不足”異常

  • February 14, 2022

我正在嘗試在我的 Android 應用程序中使用 Metamask.io 打開的 2 個地址之間發送乙太幣“來自”帳戶中有 2 個乙太幣的餘額。這裡的程式碼

       Web3j web3 = Web3jFactory.build(new HttpService("https://rinkeby.infura.io/MY ACCOUNT"));


       Credentials credentials = Credentials.create(privateKeyRopsten);

       TransactionReceipt transactionReceipt = Transfer.sendFunds(
               web3, credentials, <TO ADDRESS>,
               BigDecimal.valueOf(1.0), Convert.Unit.ETHER).send();

當我執行它時,我得到

java.lang.RuntimeException:處理交易請求時出錯:gas * price + value 資金不足

似乎是 ETHER 的數量有問題。

當我將 Convert.Unit.ETHER 更改為 Convert.Unit.WEI 時,它解決了問題

看來,您的帳戶/地址(即 Metamask 中使用的帳戶/地址)沒有足夠的金額(確切地說是什麼錯誤消息告訴您)。你首先嘗試發送 2 個你沒有的 Eth - 你有它,但是要發送任何東西或呼叫任何智能合約,你必須為此支付交易費用。所以超過 2 Eth 的東西。這就是異常消息中“gas * price + value”部分的含義。在 Wei 的第二個回答中,您發送 1 Wei(盡可能少的乙太坊 - 請參閱https://etherconverter.online/>或<http://ethdocs.org/en/latest/ether.html)。

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