How does ipfs store data permanently? Back up? Is the backup permanent storage?
IPFS is similar to BitTorrent. Everyone is either storing their own data on their own running instance, or else paying a pinning service to store it for them.
Does it work the same on a browser, node JS, and with the GO and JS CLI? I was confused because browser apps don’t have the same file modification permissions as other apps.
The underlying mechanism(s) is/are all the same within the constraints of their respective platforms. I bet the confusion comes from the JS implementation so let’s focus on that. The JS-IPFS is written isomorphic, meaning the same package can run in both the backend (i.e. NodeJS and likely Deno) and the frontend (i.e. browsers) environment.
When running in NodeJS environment, JS-IPFS leverages the local file system on the host system. But in modern browsers, JS-IPFS initiates a “virtual/emulated” file system in IndexedDB and interacts with it accordingly.
Thank you so much; that hole in the documentation has been niggling me for months now. I knew IPFS had some capability to persist in the browser just by trying it out, but I didn’t know how and so I wondered if it was reliable across browsers and such.