Has anyone figured out how to how to implement unlockable content? We’re minting NFTs that represent a digital file. Only the owner of a specific token should unlock the corresponding file.
The problem with doing this in the metadata is that someone who doesnt own the NFT will be able to find the file.
OpenSea and Rarible feature unlockable content. How do they implement it in ERC 721? As far as I can see, ERC 721 does not have a lock and the metadata file is openly visible.
i am also keen to see if anyone has figured out how to do this, we are looking into it now our goal is to add a IPFS url to the NFT that the wallet owner can "unlock" to access the url and thereby the data stored there.
I am not sure how Rarible or OpenSea are doing it however it seems to be cross platfrom for those guys and I will share what we figure out in the end - but if you can help please share!!!
Yes, it seems like this feature is only available via creating the NFT's directly on OpenSea's website. Not sure if this is possible with ERC721 deployed contracts.
OpenSea keeps a classical database of registered contracts and appends their local data, including unlockable designation and corresponding content, to the data gathered from the NFT contract.
So in simple terms, when you register a contract, and more specifically edit a token to add unlockable content, it's storing that unlockable content and the flag for it's existence in their classical database system and retrieving it alongside your contracts metadata.
This and others are some of the centralized jank that comes from working with OpenSea and Rarible.
More disturbing is that because your NFT contract is not involved in the sales process, you can't put the now legendary royalties directly in your contract because most of these services process the transactions off-chain then just use the setApprovalForAll power to simply transfer ownership of the token while they hold the funds.