Can someone explain to me what potential applications are unlocked by the addition of on-chain execution (the FileCoin VM) to a proof-of-storage backed blockchain (ie, FileCoin)?
Also, is the wasm-based (and therefore polygot) execution environment a novelty in the space of on-chain execution? That in itself should be a big deal right?
* Joining together to share storage of important data (e.g. several foundations together)
* Auto-renewing/auto-replication of storage (e.g. if a storage provider fails to respond after a certain period of time, content could be automatically replicated to a new provider)
* Automated caching & distribution - a single piece of content uploaded could be automatically replicated to other providers around the world
* Sophisticated storage auctions - let's say you're a storage provider and realize that someone has removed a large chunk of data, thereby freeing up a ton of space. A contract could automatically lower the price for storing on your disks so you're back running at full capacity more quickly.
* Futures contracts - let's say you have a lot of data you know you're going to need for a long time into the future (e.g. 10GB of log data generated every day). You may want more stability in pricing, so you "buy" all the storage now, and are not subject to volatility.
Etc, etc. But the best use cases are the ones we haven't even thought up yet!
Disclosure: I am co-director of Research Development at Protocol Labs.
Thank you!! I'm super intrigued by the potential applications listed under "Data DAOs"(coming from an ML background :) ).
Do you have any recommendations as to the learning path I should take to be able to develop on the FVM? I've never coded in the web3 space before. Should I simply dive into the API docs and figure out what fundamentals I would need to learn and go from there? Or is there some pre-designed curriculum to get average SWEs up-to-speed with FVM and FileCoin in general? (For context, I've listened to many podcast episodes on IPFS/FileCoin ..etc and have a good understanding of the general gist of things).
You have 2 main pathways for building on FVM:
1. (available sooner) Building an EVM smart contract that then interfaces with Filecoin's built-in actors. This will use existing EVM smart contract dev tools like HardHat, Truffle, Remix, Metamask, etc - and most contracts will likely be written in solidity (or any other EVM compatible language)
2. Native Rust smart contracts (or any language that compiles to run directly in the wasm FVM runtime). There is less tooling available for this today (though there are a few WIP SDKs being built in the Early Builders program), but maybe more accessible if you don't know solidity.
Yup! Your best bet is to check this out - https://github.com/filecoin-project/ref-fvm. Our documentation is still SUPER raw, it's very early. But there are lots of tests and examples in there.
Disclosure: I am co-director of Research Development at Protocol Labs.
Also, is the wasm-based (and therefore polygot) execution environment a novelty in the space of on-chain execution? That in itself should be a big deal right?