When the asset is on such a cloud. You only need to store the address of an image _on-chain_ and return it on request when someone is reading your contract.
Storing on IPFS is important – it makes the collection more DEcentralised. No one can _delete_ your pfp from the internet.
Conversation
Bad people use their own websites for _centralised_ storage. That's not good. I tend to avoid such NFT products. The moment the founders stop paying for hosting (rug, unforeseen circumstances, or abandonment), the tokenURI from their contract will lead nowhere: NFT -> gone!
1
1
8
Better people use IPFS. That's not ideal, but more secure. Your NFT investments are safer this way.
However, the best way to ensure that your NFTs are not going anywhere – is to store them _on the freakn' chain_.
1
1
7
As long as the blockchain is up and running, and many people claim it's too big to fail at this stage and will likely last for ages to come, your _on-chain_ art is gonna be there for you. It would truly last forever.
Let me demonstrate.
1
1
6
This is Blouns contract. Prior to this thread, I minted (paid the mainnet price to create and record the token on the blockchain). Let's visit 'Read contract' tab. Here, anyone can send a message into the contract, it will process it and respond as coded
1
1
5
I know that token #1 exists and I can prompt the contract with '1'. The contract seems smart but it comes back to me with this unreadable rubbish... Was this a waste of time?
1
1
4
Blockchain contracts cannot output images and binary files. In order to pass an image through the contract needs to encode it into a regular text string. The string with a hidden meaning. You can see a hint at the very top of the response. It's using base64. That's easy enough.
1
1
5
I google 'base64 decode' and click the top link. Copy and paste the output into a website you'd find – and you'll see your _on-chain_ Bloun.
The image comes with a bunch of data: title, description, properties, etc. And you can probably see the image (also encoded with base64).
1
1
4
In a regular non-chain NFT the image field would have a link (IPFS or the creator's hosting) to the actual pic. That json above is what you _actually own_.
Idk about you, but I prefer to own not just a link, but also the actual visual NFT item. Copy, paste, decode and see...
1
1
6
OMG, my Bloun #1 is an SVG! Let's copy and paste it into any text editor and save the file as "Bloun #1.svg".
Note: At a high level, and alike obviously do all this prompting-decoding-displaying for us. At scale, it's hard work.
1
1
4
Here it is! My very own timeless, indestructible, beautiful Bloun #1. I paid my eth to create it for as long the blockchain exists I will be able to obtain my feel-good art piece from there at no cost.
✅ Non-perishable art, what's not to like?
Mint @ blouns.gmi.sh
Replying to
I hope this little thread helped you understand why I am genuinely fascinated by the _on-chain_ concept in general and its artistic application specifically. To me (and the rest of gmi.sh), this is truly an 'art meets tech' kind of situation #creativecoding♥️🙏🏻
1
2
7
Other on-chain collections:
- Nouns ()
-
-
-
- 's WavesOnChain
- 's ChainFaces
- 's BLU3PRINTS (truly inspiring work)
2
2
8
"Blouns" are:
- nounish
- fun and cool
- high-res (incredibly detailed)
- CC0 (Public domain)
- educational
blouns.gmi.sh
Public mint: 0.0222 ETH
Made by the same team that created – the first on-chain abstract art NFT collection.
1
1
3
111/2222 Blouns minted. They are nounish and 100% on-chain. They are NOT going anywhere. It's a slow mint, we've got all the time in the world. blouns.gmi.sh cc
@supergremplin remember I was asking about the assets? ;) On-chain a coming soon 🚀
1
2
Look at : the traits are generated on-chain, but the art is rendered on the centralised server. They have the potential of becoming an on-chain project someday, there's a method for updating the renderer 'IChainRunnersRenderer'. The current one is called 'OffChain'.
1
1
OpenSea show centralised PNGs: img.chainrunners.xyz/api/v1/tokens/
However, there is a contract that can produce fully-on-chain SVG images: etherscan.io/address/0x78f5 One could establish a proxy contract that would be able to do that. cc , you might find this interesting
