Tokens

乙太坊能阻止二級市場銷售嗎?

  • May 18, 2022

該應用程序:如果您擊敗了一個影片遊戲,您將獲得一個win-token-v1,前 100 個獲得不和諧訪問權限。其餘擊敗遊戲的人得到win-token-v2——沒有任何價值,除了win-token-v2可以在一個且只有一個的智能合約上進行交易和銷毀(例如 trade 1 ETH+ win-token-v2for )——因為最大不和諧使用者是 100 和win-token-v1我需要驗證你是否擊敗了遊戲。

是否可以設置為讓使用者只能win-token-v1win-token-v2我的(而不是其他人)智能合約上進行交易?IE。我們可以防止二級市場銷售嗎? 目標:沒有打敗過遊戲的人不被允許進入不和諧,但二級市場銷售打敗了這個概念。

是的,因為win-token-v1並且win-token-v2很可能是 ERC-721 代幣(NFT),它們管理自己的分類帳並能夠允許transferFrom從特定的msg.sender,這將是您的智能合約執行。

因此,本質上,您將transferand限制transferFrom為僅適用於白名單地址。

查看StackOS對其節點 NFT 的實施,他們只允許通過他們的市場進行交易,並從交易中收取版稅——

   function _transfer(
       address from,
       address to,
       uint256 tokenId
   ) 
       internal 
       override(ERC721) 
       onlyWhitelisted 
   {
       super._transfer(from, to, tokenId);
   }

它們覆蓋了 Openzeppelin_transfer並添加了onlyWhitelisted修飾符,這限制了從選定地址進行的呼叫。

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