Erc-721
NFT(技術上,智能合約)是無狀態的還是有狀態的?
用於管理 NFT 的智能合約是無狀態的還是有狀態的?
乙太坊作為一種協議似乎是有狀態的,但 NFT 市場的智能合約似乎是無狀態的。
他們不會在智能合約的執行之間保存任何數據,這是我目前(可能是錯誤的)對什麼使智能合約有狀態的理解。
您正確思考什麼是有狀態的,什麼不是。如果合約不進行任何狀態更改,例如更改儲存變數值,則合約是無狀態的。
但 NFT 合約並不是無狀態的。他們不儲存太多,但他們儲存足夠。最重要的是,它們將有關令牌所有者的資訊儲存在映射中。此外,它們包含其他幫助數據(例如誰擁有令牌 ID),並且可能儲存有關令牌的各種元數據。
我認為有一個區別。
正如Lauri Peltonen指出的那樣,ERC-721 合約通常將所有權資訊儲存在映射中(tokenId -> ownerAddress),因此它們肯定有狀態。
但是您特別提到了 NFT 市場合約。這些用於拍賣和促進各方之間的交流。為了實現這一目標,他們可能必須儲存有關投標、報價、銷售、託管服務的資訊,並與 NFT 合約互動以在交易完成後強制轉移,因此在大多數情況下它們也是有狀態的。