Erc-721

ERC721 智能合約 - 作為合約所有者轉移代幣

  • October 18, 2021

這是我為學習智能合約程式而提出的假設案例。

我正在嘗試創建一個 ERC721 智能合約,該合約將為想要出售其作品的攝影師鑄造代幣。攝影師上傳了一張照片,我把它放在某個地方,並將該連結作為我的 UniquePhotoNFT 的 tokenURI 包含在內。

當我鑄造一個新的 UniquePhotoNFT 令牌時,它有一個 ID(1、2、3、4 等),其中包含所有不同的令牌 URI。所有這些代幣都屬於我,因為我為我的使用者持有所有這些代幣(因此他們不需要與任何區塊鏈員工打交道)。

當有人來購買代幣 id 為 3 的 UniquePhotoNFT 時,我可以輕鬆地將代幣 3 轉移到買家的地址。但是,如果新所有者決定將相同的代幣出售給其他人,我該如何代表他們進行轉讓?它不會讓我這樣做,因為作為合約所有者,我不是代幣所有者。

EIP-721提供了一個功能isApprovedForAll(address owner, address operator)

查詢一個地址是否是另一個地址的授權操作員

可以使用該功能使特殊地址始終被授權在 NFT 上操作。

您可以創建市場契約。賣方應批准此令牌進入您的市場。如果您驗證了您的市場契約,那將不是問題。因為合約地址沒有私鑰。以下是步驟:

  1. 賣方批准令牌進入市場。
  2. 賣家從市場呼叫 setForSale 函式。
  3. 買家可以來市場購買代幣(不要忘記查看getApproved)。

引用自:https://ethereum.stackexchange.com/questions/111598