我這裡有合約:合約原始碼
這是一個簡單的方法,它允許使用者使用 bytes32 變數創建新的 key:value 映射,並根據以下條件更新鍵的值:
- 密鑰擁有(最初由)
msg.sender
- 映射不是空的(我通過這樣做來表達
require(items[key] != 0)
但是,即使使用者是最初設置 key:value 並且它不為空的使用者,我在嘗試更新時也會恢復交易。誰能告訴我為什麼?謝謝。
在上面恢復的 tx 中,您setItem
再次呼叫失敗,因為可能試圖覆蓋已設置的值。使用溫柔的儀表板檢查事務以獲得更深入的日誌和更容易的調試。
除此之外,您的契約按預期工作(設置值 tx,更改值 tx)
引用自:https://ethereum.stackexchange.com/questions/118661