免责声明:本文提及的代码均由 Papermoon 提供,不建议直接用于生产环境。如果想要在生产环境中使用,请确保它经过充分测试和审计。
Uniswap V2 最近在 PolkaVM 上成功跑通了。表面看起来,这好像只是“又有一个协议支持了某条新链”。
但实际上,这背后意味着:
Polkadot 的智能合约生态,真的“能用了”。
这是一次社区主导的技术迁移,不是 Uniswap 官方部署,却释放出两个关键信号:
✅ Polkadot 不再只是跨链协议的代名词,它开始具备承载主流 DApp 的能力。
✅ Solidity 项目可以低门槛迁移进来,Polkadot 的大门向 EVM 生态真正打开了。
这不是新闻标题的噱头,而是开发者可以真正行动起来的时刻。对于正在寻找低成本、高扩展性部署平台的 Web3 项目来说,这可能是个全新的落脚点。
PolkaVM 是什么?
它和 EVM 链有什么不同?
PolkaVM 是一个基于 RISC-V 指令的虚拟机,由 Polkadot 官方打造,目标是为链上应用提供高性能、低成本、丰富业务的新平台。
和常见的 EVM 链不同,PolkaVM 并不是基于 Wasm,也不是直接 fork EVM,而是一个全新架构,具备以下几个特点:
RISC-V 架构:让虚拟机更灵活、更可控,适合为区块链场景进行底层优化;
具备 EVM 兼容能力:当前已经可以运行大多数 Solidity 编写的合约;
运行效率高:JIT 编译器相比于传统的解释执行,运行效率更高
天然支持与 Polkadot 平行链的跨链交互,通过 XCM 等协议可接入更广泛生态。
虽然 PolkaVM 不属于“传统意义上的 EVM 链”,但他通过实现 YUL 编译器实现了对 Solidity 的兼容,这也是 Uniswap V2 成功部署的技术基础。
合约模型:PolkaVM vs. EVM
在传统 EVM 模型中,每次合约部署,链上都会完整存储一份新的合约字节码。哪怕两份代码一模一样,只要部署两次,就会被存两次。这会带来两个问题:
链数据冗余严重:部署次数越多,链越臃肿;
合约嵌套开销大:比如合约 A 在部署时创建合约 B,它的字节码中必须直接包含合约 B 的完整代码,导致合约体积急剧膨胀。
PolkaVM 在合约模型上做了一个非常聪明的设计:
🧩 它将合约地址 → 合约代码的映射,拆分成了两层结构。
ContractAddress → ContractCodeHash → Bytecode
这种设计带来了两大好处:
✅ 1. 代码复用,避免重复存储
只要合约代码一样,无论部署多少次,链上只存一份 bytecode。这意味着:
相同逻辑的合约不会让链空间“白白变大”;
更节省存储资源,有利于节点同步和链扩展性。
✅ 2. 嵌套合约更轻巧
当合约 A 需要在运行中创建合约 B,在 PolkaVM 中,A 只需引用 B 的 CodeHash 即可,不用再把 B 的完整字节码“嵌”进自己的代码中。
结果就是:
部署体积明显更小;
嵌套逻辑更灵活、扩展性更强;
开发者可以构建更复杂的模块化系统,而不怕“胖合约”。
这个模型不仅优化了存储,更让「模块化合约架构」变得现实。如果你曾在以太坊上开发过复杂嵌套逻辑的合约,你会立刻意识到这个设计带来的改变有多大。
这也意味着,在 Polkadot 生态中构建大型、组件化的 DeFi、GameFi 系统,从底层设计上就是更高效的。
Uniswap V2 on PolkaVM
Uniswap V2 是 DeFi 世界最早也是最成功的自动做市商(AMM)协议之一。它的部署成功标志着 PolkaVM 的兼容性达到了一个“能落地实际应用”的临界点。
这次部署的关键步骤包括:
保留原始 Solidity 代码:Uniswap V2 的代码未做修改即可部署,说明 PolkaVM 的兼容层适配度很高;
完整运行:合约能顺利运行、事件触发正常、交易处理无误;
90% 的测试用例验证通过:因为 polkadot 链的手续费计算机制和 ETH 区别巨大,所以关于 gas 计算相关的测试不具备可移植性。除了 gas 计算相关的测试,其他测试均可以在 PolkaVM 链上运行通过。
整个过程不是“象征性部署”,而是真正意义上的可用版本上线,能接真实资产,跑真实交易。
如何运行 Uniswap-V2-Polkadot
🧩 Step 1:准备 Substrate 与兼容工具
PolkaVM 并非传统 EVM,也不是 Wasm,而是一个基于 RISC-V 的虚拟机,通过适配层兼容 Solidity 合约。因此你需要从源码构建一套 Polkadot 的开发工具:
bash
CopyEdit
git clone https://github.com/paritytech/polkadot-sdk
cd polkadot-sdk
cargo build --bin substrate-node --release
cargo build -p pallet-revive-eth-rpc --bin eth-rpc --release
这一步会生成两个关键组件:
substrate-node: 运行 PolkaVM 的本地节点;
eth-rpc: 一个 rpc 兼容层,允许用 EVM 工具链(如 Hardhat)与 PolkaVM 链通信。
🧩 Step 2:拉取 Uniswap 迁移版本代码
这次迁移是由社区团队 Papermoon 主导的,项目开源在 GitHub:
git clone git@github.com:papermoonio/uniswap-v2-polkadot.git
cd uniswap-v2-polkadot
pnpm install
这个项目将 Uniswap V2 的核心合约(工厂、交易对、路由等)迁移到了一个适配 PolkaVM 的 Hardhat 工程中。
🧩 Step 3:配置 Hardhat 与 PolkaVM 连接
打开 hardhat.config.js,配置 polkavm 相关的 network,这里具体指的是本地环境和 assethub westend 网络:
networks: {
localNode: {
url: "http://127.0.0.1:8545",
nodeBinaryPath: "/your/path/to/substrate-node",
adapterBinaryPath: "/your/path/to/eth-rpc",
...
}
}
这一步就是关键桥梁:Hardhat 启动时会通过 eth-rpc 与本地 substrate-node 建立连接,实现 Solidity 合约对接 PolkaVM。
🧩 Step 4:测试部署,跑起来!
现在,可以像使用 EVM 一样,在本地或 Westend Hub 网络上运行测试:
在本地 PolkaVM 节点测试
npx hardhat test --network localNode
在 Westend 公网测试环境部署
npx hardhat test --network westendHub
测试情况:Uniswap V2
的完整链上运行验证
为了确保不是“部署成功就完事”,而是真正能跑起来,Papermoon 团队对迁移版本进行了完整的功能测试。
包括以下几个模块:
其中 gas 相关测试由于 Polkadot 和以太坊在资源计价模型上的根本差异,无法直接迁移,但其他核心逻辑均测试通过,说明 PolkaVM 的 Solidity 支持已经达到了实用级别。
📈 Polkadot 新机会:
为 EVM 项目提供
“轻量高效”的落地路径
Uniswap V2 的成功部署,不只是一个技术展示,它释放出一个清晰的信号:
Solidity 项目不再需要局限于传统的 EVM 链,Polkadot 是真正可选的目标链之一。
相比主网以太坊,Polkadot 在:
💸 成本更低(无需支付高昂 gas);
🚄 交易确认快(6s 出块);
📦 合约模型更轻巧(CodeHash 机制);
🧩 模块化设计天然支持复杂业务;
对很多想要降低部署成本、提高可扩展性、拥抱跨链的新项目来说,Polkadot + PolkaVM 提供了一条非常吸引人的路径。
接下来会发生什么?
✅ 更多 Solidity 项目迁移尝试
Papermoon 目前已经在探索 Solidity On PolkaVM 上已经取得了一些成就,包括:
Uniswap V2 合约的成功迁移
Determinsic deploy 等 public good 的合约迁移;
对主流 DeFi 项目的技术支持
如果你是 Solidity 开发者,现在就可以 fork Uniswap V2 Polkadot 工程 进行尝试。
🚧 仍待完善的部分:
Foundry 等工具支持尚未全面接入
因为合约模型不同导致的链下功能修改,比如ethers.getCreate2Address
但这也正是开源开发社区能共同推进的空间。
写给开发者和项目方:
为什么你值得关注 PolkaVM?
如果你是 Web3 开发者、团队负责人、DeFi 构建者,以下几点可能对你有用:
部署成本更低:gas 更便宜,链上操作体验更轻量;
兼容 Solidity:已有项目可快速迁移,不必重构;
打通 Polkadot 跨链生态:可扩展性更强,能连接平行链上的 DeFi、GameFi、NFT 应用;
生态资源丰富:已有基础设施支持,包括区块浏览器、RPC 提供商、预言机等;
早期入驻优势:现在进场的项目更容易获得曝光、技术支持和潜在生态扶持。
✍️ 总结
Uniswap V2 的成功迁移,不仅是一次简单的协议部署,而是一个清晰信号:
Polkadot 的智能合约时代已经开启,PolkaVM 正在成为新一代 Solidity 项目的避风港与实验场。
下一步,我们或许将看到更多的 DEX、稳定币、借贷协议,以及链游、NFT 项目陆续涌入这个新舞台。
如果你是 builder,PolkaVM 值得你现在就动手试试。
📚 延伸阅读与资源链接:
💻 Polkadot contract 文档:https://contracts.polkadot.io/
📦 示例项目源码仓库:GitHub 链接
👇 点 击 解 锁 往 期 精 彩 👇
About Us
关于我们
Twitter: https://twitter.com/OneBlock_ Medium: https://medium.com/@OneBlockplus Telegram: https://t.me/oneblock_dev Discord: https://discord.gg/fE8deY4UbP Bilibili: https://space.bilibili.com/1650224419 YouTube: https://www.youtube.com/channel/UCWo2r3wA6brw3ztr-JmzyXA
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。