原文作者:PaperMoon团队
Polkadot 的智能合约平台支持两种不同的虚拟机(VM)架构,为开发者在选择执行后端时提供了更高的灵活性。这种设计在即时的以太坊兼容性 与长期的技术创新 之间取得了平衡,使开发者既可以通过 Rust Ethereum Virtual Machine(REVM)部署无需修改的 EVM 合约 ,也可以通过 PolkaVM(PVM)针对更高性能进行优化。
这两种 VM 共享同一套基础设施,包括 RPC 接口、开发工具支持以及预编译合约(precompiles)。下文将对两种架构进行对比,并帮助你根据项目需求选择合适的 VM。
REVM 后端
REVM 后端是一个完整的、用 Rust 实现的以太坊虚拟机,使 Solidity 合约可以在 无需任何修改 的情况下运行在 Polkadot Hub 上。
核心优势
• 零修改部署:可直接部署现有的以太坊合约
• 完整的 EVM 兼容性:与以太坊 EVM 行为完全一致,适用于审计工具和字节码分析
• 熟悉的开发工具链:支持 Hardhat、Foundry、Remix 等主流以太坊开发工具
• 快速上线:无需迁移成本,即可在 Polkadot 上运行合约
• 成熟的生态基础设施:继续使用你已经熟悉的以太坊工具生态
工作原理
REVM 使以太坊开发者能够在不改变合约代码或开发流程的前提下,将项目无缝迁移至 Polkadot,同时享受更高的性能和更低的交易费用。
架构说明
Revive Pallet
pallet_revive 是负责执行智能合约的运行时模块。它通过以下流程处理以太坊风格的交易:
用户 / dApp
↓
以太坊 JSON RPC 代理
↓
区块链节点
↓
pallet_revive
执行流程
-
提交以太坊交易
-
将交易重新封装为 Polkadot 兼容格式
-
处理交易
-
解码以太坊交易
-
执行合约
-
返回执行结果
-
转发结果
-
返回以太坊兼容的响应

这种基于代理的设计避免了对节点二进制文件的修改,从而保持了不同客户端实现之间的兼容性。同时,保留原始的以太坊交易数据,使现有工具可以继续处理熟悉的交易格式,大大降低了迁移成本。
另一种选择:PVM 后端
对于需要极致性能的高级使用场景,Polkadot Hub 还支持 PVM(Polkadot Virtual Machine)后端。PVM 基于 RISC-V 架构,在计算密集型工作负载下可提供更高的性能优化。Solidity 合约可以通过 resolc 编译器编译为 PVM 字节码。
对于大多数开发者而言,建议优先从 REVM 开始,以获得最简单、最完整的以太坊兼容体验;当项目对性能有明确需求时,再考虑使用 PVM。
什么是PVM?
PolkaVM 是一个基于 RISC-V 的通用型用户态虚拟机。
了解更多看这里:https://github.com/paritytech/polkavm
原文链接:https://docs.polkadot.com/smart-contracts/for-eth-devs/dual-vm-stack/