Web3js
無法從 Web3 呼叫應付函式
我正在嘗試
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 替換它對我有用。外賣付款設置沒有任何問題,這是契約上游的錯誤。希望這對其他人有幫助:)