Polkadot支持的双虚拟机执行栈是什么

原文作者: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

执行流程

  1. 提交以太坊交易

  2. 将交易重新封装为 Polkadot 兼容格式

  3. 处理交易

  4. 解码以太坊交易

  5. 执行合约

  6. 返回执行结果

  7. 转发结果

  8. 返回以太坊兼容的响应

这种基于代理的设计避免了对节点二进制文件的修改,从而保持了不同客户端实现之间的兼容性。同时,保留原始的以太坊交易数据,使现有工具可以继续处理熟悉的交易格式,大大降低了迁移成本。

另一种选择: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/

相关推荐
AIFQuant8 小时前
ETF行情API接入踩坑记:从报错到跑通的七个问题
python·金融·区块链·etf·基金
磐链科技17 小时前
DApp 前端开发指南:钱包连接与链上数据交互实践
区块链·智能合约
磐链科技17 小时前
DApp 智能合约开发详解:Solidity 编写、测试与部署全流程
区块链
ACME204419 小时前
江浙沪商铺投资胜负手
区块链
baopixiaoz2 天前
BeeQuant × BeeAgent:用AI加速策略验证
大数据·人工智能·python·区块链
木西2 天前
把 NEAR 的 “链抽象与 AI 智能体” 搬进以太坊:用 Solidity 0.8.28 打造元交易意图结算核心底座
智能合约·solidity·以太坊
磐链科技2 天前
区块链开发公司发展趋势分析:智能合约、DApp与行业数字化应用探索
区块链·智能合约
皇儒无上3 天前
智慧矿山-关于推进山西省煤矿灾害差异化智能化建设强化 AI 风险防控的政策建议
人工智能·机器学习·区块链