Web3js

如何使用 web3 將 BNB 從我的錢包發送到另一個錢包?

  • May 26, 2022

我正在將 BNB 從一個錢包發送到另一個錢包,但是當我在錢包中有 0.009 BNB 時執行程式碼時出現錯誤:

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

這是我的程式碼:

const http = require("http");
const pvtkey="***********************************";

const web3 = new Web3("https://bsc-dataseed.binance.org");

http.createServer(async (req, res) => {
 if(req.url != '/favicon.ico')
   {
       const signedTx = await  web3.eth.accounts.signTransaction({
           to: '***********************',
           value: '1000000000000000',
           gas: 2000000,
           common: {
             customChain: {
               name: 'custom-chain',
               chainId: 56,
               networkId: 56
             }
           }
       }, pvtkey);

       web3.eth.sendSignedTransaction(signedTx.rawTransaction, function(error, hash) {
           if (!error) {
             console.log("🎉 The hash of your transaction is: ", hash);
           } else {
             console.log("❗Something went wrong while submitting your transaction:", error)
           }
          });

   res.end();
 }
   })  
 .listen(8080);```

這意味著您的錢包中沒有足夠的 BNB 來支付發送的交易價值 + 費用(最大 gas 限制 * gas 價格)。

您設置了 2000000 gas limit,這意味著您需要2000000 * 5gwei = 0.01 BNB發送費用 + 0.001 BNB,總共需要 0.011 BNB 在您的錢包中。

一次簡單的轉賬不需要 2,000,000 gas,設置gas: 21000為最低 tx gas 成本應該足夠了。

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