快速入口
查看基础计数器示例:GitHub
Anchor 实现
GitHub
React 实现
分步指南
构建你的程序,并通过 MagicBlock 的 Delegation ProgramDELeGGvXpWV2fqJUhqcF5ZSYMS4JTLjteaAMARRSaeSh 加入 delegation hooks 完成升级:
按照你平常的方式编写 Solana 程序。
在程序中添加 delegation 和 undelegation hooks
添加 CPI hooks,使状态账户能够在 Ephemeral Rollup 会话中完成 delegate、commit 和 undelegate。
这些公共验证器可用于开发环境。请确保在你的委托指令中添加对应的 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
使用 Anchor 或 Solana CLI 直接将程序部署到 Solana 上。
在链上和链下发送无需修改且符合 SVM RPC 规范的交易。
Counter 示例

代码片段
- 1. Write program
- 2. Delegate
- 3. Deploy
- 4. Test
该程序实现了两个主要 instruction:这里没有什么特别之处,只是一个简单的 Anchor 计数器程序。唯一的区别是我们加入了用于 undelegation 的
initialize:将计数器设为 0increment:将计数器加 1
Delegate:将计数器从 Base Layer 委托到 ER(在 Base Layer 调用)CommitAndUndelegate:安排将计数器从 ER 同步回 Base Layer,并在 ER 上取消委托(在 ER 调用)Commit:安排将计数器从 ER 同步回 Base Layer(在 ER 调用)Undelegate:- 安排计数器同步并执行取消委托(在 ER 调用)
- 通过
#[ephemeral]注入的 callback instruction 触发 undelegation(通过 validator CPI 在 Base Layer 调用)
The undelegation callback discriminator
[196, 28, 41, 206, 48, 37, 51, 167]
and its instruction processor must be specified in your program. This
instruction triggered by Delegation Program reverts account ownership on the
Base Layer after calling undelegation on ER.With [#ephemeral] Anchor macro from MagicBlock’s Ephemeral Rollup SDK, the undelegation callback discriminator and processor are injected into your program.ephemeral macro,以及用于注入 delegation program 交互逻辑的 delegate macro。⬆️ Back to Top进阶代码片段
- Resize PDA
- Magic Router
- Magic Action
- On-Curve Delegation
当调整已委托 PDA 的大小时:⬆️ Back to Top
- PDA 必须有足够的 lamports,才能在新账户大小下继续保持 rent-exempt。
- 如果需要额外 lamports,则 payer account 也必须已委托,以补足差额。
- PDA 必须由程序持有,且交易中必须包含转移 lamports 所需的 signer。
- 使用
system_instruction::allocate
快速入口
进一步了解 Private ER、Rust Native 实现和本地开发:Private Ephemeral Rollups (PER)
快速开始
Rust Native
快速开始
Guide
本地开发
Solana 浏览器
查看你在 Solana 上的交易和账户详情:Solana 浏览器
官方 Solana 浏览器
Solscan
浏览 Solana 区块链
Solana RPC 提供商
通过现有 RPC 提供商发送交易和请求:Solana
Free Public Nodes
Helius
Free Shared Nodes
Triton
Dedicated High-Performance Nodes
Solana 验证器仪表盘
查看 Solana 验证器基础设施的实时更新:Solana Beach
Get Validator Insights
Validators App
Discover Validator Metrics
服务状态
订阅 Solana 与 MagicBlock 的服务状态:Solana Status
Subscribe to Solana Server Updates
MagicBlock Status
Subscribe to MagicBlock Server Status
MagicBlock 产品
Ephemeral Rollup(ER)
在 Solana 上安全执行实时、零手续费交易。
Private Ephemeral Rollup(PER)
通过隐私保护计算保护敏感数据。
私密支付 API
在 Solana 上以安全且合规的方式进行私密转账。
可验证随机函数(VRF)
直接在链上生成可证明公平的随机性。
价格预言机
获取适用于交易和 DeFi 的低延迟链上价格数据。

