Hash
當我呼叫我的函式元遮罩告訴“此操作預計會失敗”時
大家好,我正在嘗試創建問題挑戰 dapp,我有一個
checkAnswer()
可以從前端訪問的功能。我的問題結構:struct Question{ string qDesc; uint qPrize;//must be wei uint qDate; string[3] qHints; string qAnswer; bool qState; bool qWait; }
部分函式體:
function checkAnswer(string memory _answer) public payable{ if(keccak256(abi.encodePacked(newQuestion.qAnswer)) == keccak256(abi.encodePacked(_answer))){ ... } ... }
當我發送“測試答案”輸入值來執行它時,它成功呼叫。但是當我嘗試將“test cevap”值發送給函式時,元遮罩給了我“這個操作預計會失敗”。我不明白這裡發生了什麼。
我發現是什麼破壞了我的功能。當使用者向功能發送正確答案時,智能合約正在將挑戰獎轉移到
msg.sender
但我在合約錢包中沒有足夠的餘額,所以這就是交易損壞的原因。