Solidity
Remix IDE 獲取 VM 錯誤無效操作碼
我正在嘗試使用 chrome 中的 Remix IDE 在 javascriptVM 上部署測試合約。但是,當我嘗試執行契約時,我會在狀態部分收到此消息。
“事務到 Notes.addNote 出錯:VM 錯誤:無效的操作碼。無效的操作碼執行可能已經拋出。調試事務以獲取更多資訊。”
如果我的程式碼有什麼問題,請告訴我..
無效的操作碼可能是以下任一執行時操作的結果:
assert
表達式的計算結果為false
array[i]
在哪裡i >= array.length
在您的程式碼中,只有第二個選項似乎可行。
它在表達式中是可行的
userNotes[msg.sender][_noteId]
。所以錯誤一定是
_noteId >= userNotes[msg.sender].length
.
這可能是因為有一些數組迭代超出了範圍。無效的操作碼錯誤僅在這種情況下出現(儘管對我來說)。
區塊鍊和智能合約的新手!!!如我錯了請糾正我。