Gas

ropsten:gas 資金不足 * 價格 + 使用 web3 的價值

  • December 11, 2019

我正在使用"web3": "^1.0.0-beta.37"

我想了解如何發送 rawTransaction

我的程式碼是:

const pk = 'xxxxxxx';
const rawTransaction = {
   "to": "0xa53709839ab6Da3ad9c1518Ed39a4a0fFCbA3684",
   "value": web3.utils.toWei('1', 'wei'),
   "gas": 2000000,
   "chainId": 3
};
let signedTx = await web3.eth.accounts.signTransaction(rawTransaction, pk).catch(console.dir);
let sendTx = await web3.eth.sendSignedTransaction(signedTx.rawTransaction).catch(console.error);

我的帳戶有 4Eth(在 ropsten 上),我的 httpProvider 是 ropsten(使用 infura)

但我得到這個錯誤

錯誤:返回錯誤:gas資金不足*價格+價值

我跟隨:

https://web3js.readthedocs.io/en/1.0/web3-eth-accounts.html?highlight=signTransaction#signtransaction

進而

https://web3js.readthedocs.io/en/1.0/web3-eth.html#eth-sendsignedtransaction

@abed感謝您的回復和建議,問題是PK,我必須在從Metamask 獲得的PK 之前添加0x

https://github.com/ethereum/web3.js/issues/1094

嗯,消息是說你沒有資金。以下是您可以執行的操作:

  1. 仔細檢查您用於簽署該交易的 pk 實際上是具有足夠餘額的帳戶的私鑰。
  2. 仔細檢查 web3 提供程序實​​際上指向的網路與你有 ethers 的網路相同。你確定 infura 節點連接到 ropsten 嗎?
  3. 嘗試為該帳戶執行 getBalance() 並驗證輸出是否正確顯示您的餘額

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