Filecoin network will also introduce EVM-compatible FVM, creating an easy bridge for Ethereum developers to leverage their experience and knowledge to build dapps on Filecoin.
FVM provides a WASM runtime environment to enable the execution of smart contracts on Filecoin, enabling the execution of dapps that emphasize its provable storage. These Filecoin-specific applications leverage the unique features of the network to provide secure and verifiable storage solutions. In this article, we’ll explore the architecture of FVM, its potential use cases, and provide an overview of deploying ERC20 token contracts on the Filecoin network using Remix and MetaMask.
Filecoin is a decentralized storage network that aims to create a more efficient and secure way to store and share humanity’s most important data. The network has introduced the Filecoin Virtual Machine (FVM), allowing developers to build and deploy smart contracts on the Filecion network.
Currently, Filecoin achieves some of the core features via built-in actors (smart contracts), and they are responsible for executing major Filecoin features, including miners management, storage market management, and Filecoin plus, etc. A list of built-in actors can be found here. Such a flexible design allows actors to interact with each other, making it possible to build complex applications on top of the Filecoin protocol.
A user-defined actor (aka smart contract) in the Filecoin network is created and defined by a user to implement custom functionality and behavior. These smart contracts can interact with built-in actors to take advantage of Filecoin provable storage features, and turn a lot of use cases around storage become possible.
So FVM, together with Filecoin provable storage makes it possible for developers to create a wide range of dapps that can take advantage of Filecoin’s features, such as decentralized storage.
Content
- What is FVM and why does it matter?
- Inside FVM: the architecture design
- FVM’s robust roadmap for seamless Web3 development
- Exploring the use cases for FVM
- Creating an ERC-20 token on Filecoin Network
- A decentralized and programmable Web3 future is here
What is FVM and why does it matter?
FVM, or Filecoin Virtual Machine, providing an on-chain runtime environment for smart contracts, which is also compatible with EVM. FVM aims to enable a truly decentralized internet and support large-scale applications by bringing general programmability to the Filecoin network.
In pursuit of these goals, FVM brings together smart contracts and verified storage. It operates like a smart contract, automatically executing a specific action when certain conditions are met. But what sets FVM apart from other smart contracts is its ability to access verified proof of stored data within the virtual machine environment.
So what are the unique features of FVM?
FVM can maintain data security and immutability while giving users true ownership over their data. This is possible because FVM operates by computing over state rather than data itself. When FVM accesses data, it manipulates the metadata of the stored data deal (an agreement between a client and a storage miner) without altering the data itself.
Another benefit of FVM is that it can coordinate off-chain data computation, as demonstrated in Protocol Lab’s Compute over Data framework, Bacalhau. For those who want to dive deeper into the technology, detailed documentation is available via the button below.
Inside FVM: the architecture design
FVM’s support for WebAssembly (WASM) is one of the key features that makes it a versatile tool for developers building dapps on the Filecoin network. WASM is a low-level programming language that can be used as a compilation target for higher-level languages. This means that smart contracts written in any language that compiles to WASM can be executed efficiently and securely on FVM.
By supporting the Solidity programming language used in Ethereum and offering compatibility with popular EVM tools like Hardhat, Remix, Metamask, and OpenZeppelin, the FVM makes it easier for developers to take advantage of the unique benefits offered by the Filecoin network while leveraging their knowledge and experience of building solidity smart contracts.
The virtual machine also provides built-in actors that enable Filecoin-specific features. These actors can be interacted in smart contracts, providing developers with even more flexibility and functionality when building dapps on the Filecoin network.
With the ability to leverage both EVM-compatible smart contracts and built-in actors, developers have access to a wide range of tools to create powerful and unique applications that make use of Filecoin’s decentralized storage network.
FVM’s robust roadmap for seamless Web3 development
FVM has a comprehensive roadmap that comprises three major milestones. These milestones endeavor to make FVM an interoperable virtual machine and an attractive option for Web3 developers looking for a platform to run their Solidity-written applications.
The team has three milestones in mind:
- The first milestone focuses on developing a functional and secure FVM architecture, ensuring its basic security and functionality.
- With milestone 2 they focus on the development of an EVM-compatible version of FVM called “FEVM”, which will go live on March 14th. This will ultimately allow experienced Solidity developers to leverage mature and powerful Ethereum toolings to build dapps on Filecoin to unlock the possibilities around provable storage.
- The next milestone will prioritize the implementation of FVM native actors support, powered by WASM. This means that developers will be able to create smart contracts using languages such as Rust, Go, and JavaScript/TypeScript, all running seamlessly on top of the FVM’s WASM runtime.
Developers can start building Solidity smart contracts for FEVM ahead of its launch by using the EVM toolset on Filecoin’s testnet, Hyperspace. This allows developers to test and debug their smart contracts in a simulated environment before deploying them on the Filecoin network.
As of February 2023, FVM has completed Milestone 2.1, which centers around the development of FEVM. It is expected to be deployed on the Filecoin main network on March 14th, 2023. According to the roadmap, the goal is to complete Milestone 2 by mid-year 2023, resulting in a fully functional FVM.
Exploring the use cases for FVM
FVM offers a multitude of potential use cases, from infrastructure to full solutions. For example, one use case involves automating the replication of storage deals. FVM can automate the renewal of storage deals based on client preferences, enabling perpetual storage.
Moreover, developers can create and manage data decentralized autonomous organizations (Data DAOs) With the FVM. This enables individuals or organizations to curate and preserve data collections. Furthermore, Data DAOs can govern and monetize data access and pool the returns into a shared treasury to fund the collections’ preservation and long-term growth.
The possibilities with FVM are limitless and depend on the creativity of developers to ideate and build.
Creating an ERC-20 token on Filecoin Network
Filecoin supports multiple token standards, including the native FIL token and the Ethereum-compatible ERC-20 token standard. These token standards allow for creating and exchanging various types of digital assets on the Filecoin network.
Now let’s look at how to create an ERC-20 token on the Filecoin network. Since FVM is EVM compatbile runtime environment, we will use ERC20 smart contract from OpenZeppline, MetaMask and Remix in the following example.
Firstly, we must install MetaMask, a browser-based wallet that will allow us to manage our funds and interact with the Ethereum network. Once MetaMask is installed, we will create a new wallet address for holding our ERC-20 tokens.
To start testing, we will then add some test currency to the new wallet address. Afterwards, we can use a browser-based development environment called Remix to write and deploy a smart contract to the Filecoin network.
For more detailed step-by-step instructions, please go to the page by clicking the link below.
For the Hardhat quickstart, click on the button below.
A decentralized and programmable Web3 future is here
Filecoin has been playing a significant role in data storage decentralization. And now, FVM will bring programmability and EVM-compatible smart contracts to Filecoin, further unleashing its potential. It’s also worth noting that it enables developers to build Web3 projects on the Filecoin blockchain using their preferred tools and software packages.
Learn more about enabling a truly decentralized internet, building large-scale applications, and having true data ownership with Filecoin and its FVM.
Useful links
Disclaimer — This is a sponsored article. DappRadar does not endorse any content or product on this page. DappRadar aims to provide accurate information, but readers should always do their own research before taking action. Articles by DappRadar can not be considered as investment advice.