Web3js

無法從 Web3 呼叫應付函式

  • September 23, 2021

我正在嘗試public payable在 ropsten 測試網中從我的智能合約 (^0.8.0) 中呼叫一個函式

   function purchaseCardPack() public payable {
       require(msg.value == cardPackFee, "VALUE SENT NOT EQUAL TO CARD FEE");
       _createCardPack();
   }

使用web3.js

 const buyCardPack = async () => {
   try {
     await NFTContract.methods.purchaseCardPack().send({from: account, value: web3.utils.toWei('0.015', 'ether')});
   } catch(err) {
     console.log(err);
   }
 }

並且由於某種原因看到錯誤“交易錯誤。契約程式碼中引發的異常”。在我什至可以發送交易之前在 MetaMask 中。

如果我做錯了什麼或者我可以提供任何其他資訊,請告訴我。提前致謝! 這是我看到的錯誤

問題出在_createCardPack(). 我在它引用的函式中除以 0(特別是長度為 0 的數組)。用 uint 替換它對我有用。

外賣付款設置沒有任何問題,這是契約上游的錯誤。希望這對其他人有幫助:)

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