How to do Unlockable Content with smart contracts?

Hi all.

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.

Hi @joey,

Have a look at Unlock: The Protocol for Memberships.

Also Use Tokens to Gate Any Content Anywhere.

I assume that once the content is unencrypted then anyone can copy it, so the challenge is to make it that this isn’t worthwhile.

thanks man, i’ll check these out!

Hi @joey,

You could also look at https://enzypt.io/

Hi guys,

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.

Hi there, @joey did you find a solution to this? Trying to achieve the same!

Hi Wasar_Shash, I also have the same curiosity about it. Might I know do you get and further information?

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.

Merhaba arkadaşlar buna bir çözüm bulabildiniz mi?

Hi, welcome! :wave:

I think it would be better if you spoke in English.

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.

did anyone work this out as i also want to use this future but there are little to NO info on how to do this.
@joey did you work it out ?

www.darkblock.io does unlockable conent, decentralized and chain agnostic