Filecoin Docs
BasicsStorage providersNodesNetworksSmart contractsReference
  • Welcome to Filecoin Docs
  • Basics
    • What is Filecoin
      • Crypto-economics
      • Blockchain
      • Storage model
      • Storage market
      • Retrieval market
      • Programming on Filecoin
      • Networks
    • The blockchain
      • Actors
      • Addresses
      • Blocks and tipsets
      • Consensus
      • Drand
      • Proofs
    • Assets
      • The FIL token
      • Wallets
      • Metamask setup
      • Get FIL
      • Transfer FIL
    • Interplanetary consensus
    • How storage works
      • Filecoin plus
      • Storage onramps
      • Filecoin and IPFS
    • How retrieval works
      • Basic retrieval
      • Serving retrievals
      • Saturn
    • Project and community
      • Forums and FIPs
      • Filecoin compared to
      • Filecoin FAQs
      • Related projects
      • Social media
      • The Filecoin project
      • Ways to contribute
  • Storage providers
    • Basics
      • Quickstart guide
    • Filecoin economics
      • Storage proving
      • FIL collateral
      • Block rewards
      • Slashing
      • Committed capacity
    • Filecoin deals
      • Storage deals
      • Verified deals
      • Filecoin programs and tools
      • Snap deals
      • Charging for data
      • Auxiliary services
      • Return-on-investment
    • Architecture
      • Software components
      • Storage provider automation
      • Sealing pipeline
      • Sealing rate
      • Sealing-as-a-service
      • Network indexer
    • Infrastructure
      • Storage
      • Network
      • Backup and disaster recovery
      • Reference architectures
    • Skills
      • Linux
      • Network
      • Security
      • Storage
      • Sales
      • Industry
    • PDP
      • Prerequisites
      • Install & Run Lotus
      • Install & Run YugabyteDB
      • Install & Run Curio
      • Enable PDP
      • Use PDP
  • Nodes
    • Implementations
      • Lotus
      • Venus
    • Full-nodes
      • Pre-requisites
      • Basic setup
      • Node providers
    • Lite-nodes
      • Spin up a lite-node
  • Smart contracts
    • Fundamentals
      • The Filecoin Virtual Machine
      • Filecoin EVM runtime
      • ERC-20 quickstart
      • Roadmap
      • Support
      • FAQs
    • Filecoin EVM-runtime
      • Actor types
      • Address types
      • FILForwarder
      • Difference with Ethereum
      • How gas works
      • Precompiles
    • Programmatic storage
      • Aggregated deal-making
      • Direct deal-making
      • Cross-Chain Data Bridge(CCDB)
      • Data replication, renewal and repair (RaaS)
      • RaaS interfaces
    • Developing contracts
      • Get test tokens
      • Remix
      • Hardhat
      • Foundry
      • Solidity libraries
      • Call built-in actors
      • Filecoin.sol
      • Direct deal-making with Client contract
      • Using RaaS
      • Verify a contract
      • Best practices
    • Advanced
      • Wrapped FIL
      • Oracles
      • Multicall
      • Multisig
      • FEVM Indexers
      • Cross-chain bridges
      • Aggregated deal-making
      • Contract automation
      • Relay
  • Networks
    • Mainnet
      • Explorers
      • RPCs
      • Network performance
    • Calibration
      • Explorers
      • RPCs
    • Local testnet
      • Get test tokens
    • Deprecated networks
  • Reference
    • General
      • Glossary
      • Specifications
      • Tools
    • Exchanges
      • Exchange integration
    • Built-in actors
      • Protocol API
      • Filecoin.sol
    • JSON-RPC
      • Auth
      • Chain
      • Client
      • Create
      • Eth
      • Gas
      • I
      • Log
      • Market
      • Miner
      • Mpool
      • Msig
      • Net
      • Node
      • Paych
      • Raft
      • Start
      • State
      • Sync
      • Wallet
      • Web3
  • Builder Cookbook
    • Overview
    • Table of Contents
    • Data Storage
      • Store Data
      • Retrieve Data
      • Privacy & Access Control
    • dApps
      • Chain-Data Query
      • Oracles
      • Cross-Chain Bridges
      • Decentralized Database
Powered by GitBook
LogoLogo

Basics

  • Overview
  • Crypto-economics
  • Storage model
  • Reference

Developers

  • The FVM
  • EVM-runtime
  • Quickstart
  • Transfer FIL

Contact

  • GitHub
  • Slack
  • Twitter
On this page
  • What is FVM
  • What broader implications does FVM have
  • What problems does FVM solve
  • How does Aptos compare to FVM
  • How does the FVM directly interact with data on Filecoin
  • How do other EVMs compare to FEVM
  • What is an actor
  • What are built-in actors
  • Why use the FEVM vs any other EVM compatible chain
  • Why FEVM vs native FVM
  • What applications make FVM/FEVM unique
  • What is perpetual storage
  • What are Data DAOs
  • Is FVM part of Filecoin clients like Lotus
  • Do I have to install Lotus to work with FVM
  • What is the difference between the FVM and Bacalhau
  • Why does the FVM use WASM
  • Is the FEVM a bridge to the EVM
  • How is the Filecoin network accessed through Solidity
  • Can I deploy EVM bytecode to the native FVM
  • What frontend framework should I use?
  • How do we convert from msg.sender in a FEVM contract, which returns an EVM 0x address, to the underlying Filecoin f address?
  • How do I bound the replicator factor from solidity FEVM?
  • How can I use FVM to store data to Filecoin
  • How do I close a storage deal on Filecoin and stop storage providers (SP) from storing my data on-chain

Was this helpful?

Edit on GitHub
Export as PDF
  1. Smart contracts
  2. Fundamentals

FAQs

A list of frequent asked questions about FVM, FEVM and how to build on Filecoin network.

PreviousSupportNextFilecoin EVM-runtime

Last updated 3 months ago

Was this helpful?

Here’s a collection of general FAQs that the team has gathered. If you are looking for more technical FAQs, please head to .

What is FVM

The (Filecoin virtual machine) enables developers to write and deploy custom code to run on top of the Filecoin blockchain. This means developers can create apps, markets, and organizations built around data stored on Filecoin.

What broader implications does FVM have

FVM allows us to think about data stored on Filecoin differently. Apps can now build a new layer on the Filecoin network to enable trading, lending, data derivatives, and decentralized organizations built around datasets.

What problems does FVM solve

FVM can create incentives to solve problems that Filecoin participants face today around data replication, data aggregation, and liquidity for miners. Beyond these, there is a long tail of data storage and retrieval problems that will also be resolved by user programmability on top of Filecoin.

How does Aptos compare to FVM

is a Move-based L1 chain, whereas FVM is a WASM runtime on the Filecoin chain. The latter comes with an EVM right of the box; the former does not. The FVM also supports programmable storage with deals on Filecoin.

How does the FVM directly interact with data on Filecoin

The FVM operates on blockchain state data — it does not operate on data stored in the Filecoin network. This is because access to that data depends on network requests, an unsealed copy’s availability, and the SPs’ availability to supply that data.

Access and manipulation of data stored in the network will happen via L2 solutions, for example, retrieval networks or compute-over-data networks, e.g., Saturn or CoD.

How do other EVMs compare to FEVM

Unlike other EVM chains, FEVM specifically allows you to write contracts that orchestrate programmable storage. This means contracts that can coordinate storage providers, data health, perpetual storage mechanisms, and more. Other EVM chains do not have direct access to Filecoin blockchain state data.

What is an actor

An actor is code that the Filecoin virtual machine can run. Actors are also referred to as smart contracts.

What are built-in actors

Why use the FEVM vs any other EVM compatible chain

Having storage contracts as a native primitive open to smart contract developers. Reduce costs of writing to storage from an EVM smart contract to a separate storage service.

Why FEVM vs native FVM

FEVM allows Solidity developers to easily write/port actors to the FVM using the tools that have already been introduced in the Ethereum ecosystem.

What applications make FVM/FEVM unique

Applications that natively make use of storage contracts. Perpetual storage contracts, Data DAOs, etc.

What is perpetual storage

Perpetual storage is a unique actor design paradigm only available on the FVM that allows users the ability to renew Filecoin storage deals and to keep them active indefinitely. This could be achieved by using a Decentralized Autonomous Organization (DAO) structure for example.

What are Data DAOs

Data DAOs are a unique design paradigm FVM developers could create which use Filecoin storage to store all their data instead of a service like AWS (which is currently used).

Is FVM part of Filecoin clients like Lotus

Yes.

Do I have to install Lotus to work with FVM

  • api.hyperspace.node.glif.io/rpc/v1

  • api.zondax.ch/fil/node/hyperspace/rpc/v1

What is the difference between the FVM and Bacalhau

Why does the FVM use WASM

Is the FEVM a bridge to the EVM

No, the FEVM is its own instance of the EVM built on top of Filecoin. You will need to redeploy smart contracts that exist in the EVM to the FEVM. Bridges can be built to top of the FEVM which connect it to other blockchains however.

How is the Filecoin network accessed through Solidity

When an EVM is deployed to FEVM, it is compiled with WASM and an actor instance is created in FEVM that runs the EVM bytecode. The user-defined FEVM actor is then able to interact with the Filecoin network via built-in actors like the Market and Miner APIs.

Can I deploy EVM bytecode to the native FVM

No, it must be deployed to the FEVM.

What frontend framework should I use?

React, Ethers.js, web.js, ReactJS work well.

How do we convert from msg.sender in a FEVM contract, which returns an EVM 0x address, to the underlying Filecoin f address?

How do I bound the replicator factor from solidity FEVM?

Store a number limit on running DealClient and publish_deal and have it authorized to replicate.

How can I use FVM to store data to Filecoin

The intent of FEVM/FVM is to compute over state data (the metadata of your stored data). Storage providers are the ones that are able to store your data and upload the deal to the Filecoin network. Data retrieval happens via Retrieval Providers, accepting the client’s ask to retrieve and working with storage providers to decrypt the data to deliver to the client. FEVM/FVM is able to build logic around these 2 processes and automate, add verification and proofs, time-lock retrievals etc.

How do I close a storage deal on Filecoin and stop storage providers (SP) from storing my data on-chain

are code that come precompiled into the Filecoin clients and can be run using the FVM. They are similar to .

Not necessarily. You can use any of the public RPC nodes on either or the [Calibration testnet](/networks/calibration/details/

They are synergistic. Compute over data solutions such as can use the FVM.

Many already compile to WASM so developers can pick their favorite.

You can use the npm package or the has the constructor that calls mock_generate_deals();.

It’s not impossible but storage providers are incentivized not to close the storage deal as they are slashed for not providing . Someone has to pay for the broken promise a miner makes to the chain and you need a custom market actor for it most likely to make the deal. You need to make deals for a certain amount of time - right now the boundaries are 6-18 months. You cannot ask a storage provider to take down your data without contacting them off-chain.

Filecoin Community Discussion
FVM
Aptos
Built-in actors
Ethereum precompiles
mainnet
Bacalhau
different languages
@glif/filecoin-address
Zondax mock API
Was this page helpful?
Proof of Spacetime (PoSt)