Let’s say I am an application developer. On Ethereum I can use Ganache to setup a local development blockchain, so that I have a safe sandbox for developing my application. Is there such a thing for Ipfs? And if not, do developers develop their app on ipfs “mainnet” directly?
IPFS isn’t a blockchain so there’s no real reason to split the network into a mainnet and a testnet. Think of IPFS more like “the internet” or “the web” (i.e., there’s no “test internet” or “test web” unless you want to run local simulations).
Does it mean that application developers “pollute” their ipfs files with development artifacts?
It just means that when you add and pin files in your IPFS node, they will be made available and addressable by their hash, and in a peer to peer way.
ipfs add the development version of your website to your node, the development artifacts will be in there, available for anybody to see.
And if you stop seeding this content, then other peers won’t be able to get it from your node, but may be able to get it from other nodes that have seen the content.
I see. But if I don’t send the hash the anybody, the chance of my development artifacts becoming available to other is almost 0, correct?
Correct. Putting things on IPFS is different from putting things on a blockchain. Content is not auto-broadcasted for everyone to fetch, but blockchains can be easily built on top (IPFS being the storage layer).
Mm… This got me thinking. Doesn’t adding a file mean (by defaut) that it is advertised for on the DHT? In that case, even if it’s not “onchain” (coz IPFS is no blockchain) or even really online, counldn’t a crawler cat it “out of curiousity” or for layer-2 indexing purpose? Or am I missing something?
Yes, current IPFS Search engines sniff the DHT to discover new content