Tokens
乙太坊能阻止二級市場銷售嗎?
該應用程序:如果您擊敗了一個影片遊戲,您將獲得一個
win-token-v1
,前 100 個獲得不和諧訪問權限。其餘擊敗遊戲的人得到win-token-v2
——沒有任何價值,除了win-token-v2
可以在一個且只有一個的智能合約上進行交易和銷毀(例如 trade1 ETH
+win-token-v2
for )——因為最大不和諧使用者是 100 和win-token-v1
我需要驗證你是否擊敗了遊戲。是否可以設置為讓使用者只能
win-token-v1
在win-token-v2
我的(而不是其他人)智能合約上進行交易?IE。我們可以防止二級市場銷售嗎? 目標:沒有打敗過遊戲的人不被允許進入不和諧,但二級市場銷售打敗了這個概念。
是的,因為
win-token-v1
並且win-token-v2
很可能是 ERC-721 代幣(NFT),它們管理自己的分類帳並能夠允許transferFrom
從特定的msg.sender
,這將是您的智能合約執行。因此,本質上,您將
transfer
and限制transferFrom
為僅適用於白名單地址。查看StackOS對其節點 NFT 的實施,他們只允許通過他們的市場進行交易,並從交易中收取版稅——
function _transfer( address from, address to, uint256 tokenId ) internal override(ERC721) onlyWhitelisted { super._transfer(from, to, tokenId); }
它們覆蓋了 Openzeppelin
_transfer
並添加了onlyWhitelisted
修飾符,這限制了從選定地址進行的呼叫。