为什么使用本地环境?
在测试 Solana 程序中的 delegation 和实时行为时,快速反馈循环 至关重要。 运行 本地 Ephemeral Rollup Validator 可以让你:- 在没有网络延迟或速率限制的情况下快速测试 delegation 和行为。
- 在本地模拟 Solana runtime 交易。
- 根据自身需求自定义验证器设置。
快速开始:本地 Ephemeral Validator
查看适用于 Anchor 和 Native Rust 的 delegation 与测试脚本:Anchor
与 Anchor 程序集成
Native Rust
与 Native Rust 程序集成
本地设置选项
你可以通过三种方式在本地运行 Ephemeral Rollups:- 使用
mb-test-validator作为基础层并搭配本地ephemeral-validator的完整本地栈。 - 使用本地 Surfpool 作为基础层替代方案,同时仍在本地运行 rollup。
- 让本地
ephemeral-validator直接连接到如 Devnet 这样的公共基础层。
重要:使用正确的验证器身份升级程序
使用本地 ER 验证器时,应将其连接到账户发生委托的那个基础层。如果你将 PDA 委托给某个特定的 ER 验证器身份,请更新程序中的 delegation 配置,以确保 commit 和 undelegation 能在基础层上正确完成。这些公共验证器可用于开发环境。请确保在你的委托指令中添加对应的 ER 验证器:
主网- 亚洲 (as.magicblock.app):
MAS1Dt9qreoRMQ14YQuhg8UTZMMzDdKhmkZMECCzk57 - 欧盟 (eu.magicblock.app):
MEUGGrYPxKk17hCr7wpT6s8dtNokZj5U2L57vjYMS8e - 美国 (us.magicblock.app):
MUS3hc9TCw4cGC12vHNoYcCGzJG1txjgQLZWVoeNHNd - TEE (mainnet-tee.magicblock.app):
MTEWGuqxUpYZGFJQcp8tLN7x5v9BSeoFHYWQQ3n3xzo
- 亚洲 (devnet-as.magicblock.app):
MAS1Dt9qreoRMQ14YQuhg8UTZMMzDdKhmkZMECCzk57 - 欧盟 (devnet-eu.magicblock.app):
MEUGGrYPxKk17hCr7wpT6s8dtNokZj5U2L57vjYMS8e - 美国 (devnet-us.magicblock.app):
MUS3hc9TCw4cGC12vHNoYcCGzJG1txjgQLZWVoeNHNd - TEE (devnet-tee.magicblock.app):
FnE6VJT5QNZdedZPnCoLsARgBwoE6DeJNjBs2H1gySXA
- 本地 ER (localhost:7799):
mAGicPQYBMvcYveUZA5F5UNNwyHvfYh5xkLS2Fr1mev
- 完整本地
- Surfpool
- Devnet
启动本地 Solana 基础层
mb-test-validator 会启动一个本地 Solana validator,可作为完整本地环境的基础层。http://localhost:8899 作为 RPC,ws://localhost:8900 作为 WebSocket 连接地址。在本地运行 VRF Oracle
如果你还需要端到端测试 VRF,可以让本地vrf-oracle 对接本地测试队列运行。

