FVM虚拟机的主要目的是为参与者提供多种编程模型,以及帮助在其他环境(例如ETH)编写的智能合约和程序可以利用Filecoin网络的存储功能。
对于FVM中的参与者,我们区分了三种类型:
1、本地用户定义的参与者:在开发时以FVM为目标。
2、外部用户定义的参与者:最初在开发时针对另一个运行程序(例如EVM)。可能在其原始代码中命名为“智能合约”。
3、内置系统参与者:截至目前存在。
本地用户定义
原生FVM的运行程序是WebAssembly(WASM),用户可以在技术上在任何编译为WASM的编程中编写程序。但是需要注意一些特定语言会影响WASM输出,导致WASM字节码臃肿和执行效率低下,还需要考虑链上代码大小限制。
外部用户定义
FVM的架构特性,让FVM可以运行外部程序,其中最重要的就是EVM。FVM的目标是支持将EVM字节码按原样部署到Filecoin网络。为此,FVM将采用SputnikVM,这是一个与WASM运行时兼容的RustEVM解释器,可以将以太坊网络特定的行为填充到Filecoin对应物上。虽然,这在性能方面是一种低效的解决方案,但它允许将现有经过实战考验的以太坊智能合约直接且相对无风险地部署到Filecoin网络。
ETH的Gas费高昂导致效率低下,执行成本更高。这将激励开发人员将智能合约迁移到本地FVM参与者以降低执行成本。除了EVM,未来还将热衷于支持AgoricSES、Solana的BPF和使用其他区块链编程的模型和范式。
内置系统参与者
内置系统参与者将完全在WASM空间中运行。他们的源代码可能会迁移到使用FVMSDK。它们将被编译为WASM,并将作为捆绑在Filecoin节点实现分发中的静态WASM模块发布,可能通过二进制嵌入。系统参与者将继续静态绑定到其现有地址,以及通过系统升级发展。网络导向升级机制的方式在路线图中。
注意:此计划取决于WASM与本机系统参与者的初步性能基准测试结果。如果前者的表现不可接受,可能会被迫将系统参与者保留在本地空间中,并将它们视为其他平台中的“预编译合约”。
版权声明:本号所发内容仅供学习、交流之目的。若涉及版权问题,烦请留言联系,我们将第一时间更正或删除。特别声明:本文旨在传递更多市场信息,不构成任何投资建议。??点个在看,TA会看到!??预览时标签不可点收录于话题#个上一篇下一篇