简介

MPL-3643 快速入门

Last updated September 28, 2026

本页介绍在 MPL-3643 上构建之前需要准备什么、应选择哪条路径,以及发行代币、投资者入驻和执行合规转账的流程形态。

MPL-3643 已在 Solana 主网上以抢先体验方式运行 — 申请 alpha 访问权限开始构建。

审计状态

MPL-3643 尚未经过审计。未与 Metaplex 协调前,请勿托管真实资产。

摘要

在 MPL-3643 上构建,意味着将 Token-2022 铸币与 Token ACL、四个 MPL-3643 程序以及一个 KYC 提供商组合起来。操作顺序很重要,因为其中一步是不可逆的。

选择路径

三类用户会基于 MPL-3643 进行构建,他们首先需要的东西各不相同。

你是你想要对应流程
RWA 发行方发行并管理合规代币代币发行流程
集成开发者从钱包、交易场所或应用转移 MPL-3643 代币合规转账流程
KYC 提供商通过签发声明使投资者获得资格投资者入驻流程

无论选择哪条路径,有一个事实决定了其他一切:每个 MPL-3643 代币账户都是创建即冻结的,只有合规的钱包才能解冻。

前提条件

工具

要求版本原因
Node.js20.18.0 或更高TypeScript SDK 和生成的客户端需要
Solana CLI2.1.0 或更高开发网交互和密钥管理
开发网 RPC 端点—必须支持 Token-2022

Rust 集成方还需要与程序构建所用版本一致的 Anchor 和 Solana 工具链。

链上前提条件

在任何 MPL-3643 指令能对你的代币成功执行之前,必须满足四个条件。

  1. 铸币是 DefaultAccountState = Frozen 的 Token-2022。 此扩展在铸币创建后无法添加。
  2. 冻结权限已委托给 Token ACL,且 Token ACL 配置中的无许可解冻和无许可冻结均已启用,配置已封存,这些设置之后无法更改。
  3. 你持有注册表代币发行者角色授权。 这使你无需 Metaplex 联合签名即可创建自己的合规、门控和收益配置。
  4. 受信任的证明者覆盖你要求的所有主题。 你固定(pin)的证明者必须处于活跃状态,并获得了 KYC 以及代币必需主题集中每个主题的授权。

两个铸币决定无法反悔

DefaultAccountState = Frozen 和 transfer hook 扩展都在铸币创建时固定。没有钩子的铸币永远无法获得逐笔转账模块 — 没有锁仓、没有交易量上限、没有暂停时段、没有交易场所限制。请在创建铸币之前决定。

代币发行流程

发行合规代币是一个由程序强制执行顺序的引导序列。

  1. 创建 Token-2022 铸币,设置 DefaultAccountState = Frozen;如果将来可能需要逐笔转账模块,还要加上 transfer hook 扩展。
  2. 为铸币创建 Token ACL 配置,启用两个无许可标志,然后封存。
  3. 初始化门控配置 — 需要原始铸造权限。这一步同时会创建代币的信任范围。
  4. 将接受的 KYC 提供商添加到信任范围。
  5. 如果代币会用到,初始化生命周期的收益和恢复配置 — 需要原始铸造权限。
  6. 初始化合规配置。 这是权限转移的分界线。
  7. 初始化门控的 extra account meta 列表,它会读取已生效的合规配置并绑定门控。
  8. 启用并配置模块,然后通过 Compliance Module 的铸造流程铸造初始供应量,以保持持有者核算同步。

第 6 步是单向门

合规初始化会不可逆地将铸币的 MintTokens 权限转移给 ComplianceConfig PDA。所有需要原始铸造权限的指令 — 第 3 步和第 5 步 — 都必须在此之前执行。没有恢复路径:没有信任范围就发行的代币之后无法再补上。SDK 会为你安排这个顺序;如果你直接使用生成的客户端,顺序由你自己负责。

投资者入驻流程

投资者从一次链下验证开始,经过四个步骤获得资格。

  1. 链下 KYC。 提供商验证投资者的文件。
  2. 认证。 通过的结果被记录为 Solana Attestation Service 认证,或准备为由证明者签名的 Direct 声明。
  3. 附加声明。 受信任的证明者为代币要求的每个主题附加一个与钱包绑定的 Claim;当代币执行司法辖区规则时,居住地声明会记录投资者的 ISO-3166 国家代码。
  4. 解冻。 任何人提交 thaw_permissionless;Gate Program 检查资格,Token ACL 解冻账户。

第 3 步对每个受信任的证明者只需进行一次 — 受信任的证明者是用其密钥在链上附加声明的一方,通常是代币发行方。该标准的设计是与可复用 KYC 提供商配合使用,在投资者同意的情况下,之前的验证可以被共享,而无需重复。

合规转账流程

转移 MPL-3643 代币是一个三阶段的信封流程,而不是单条指令。

  1. 准备(Prepare) — 确保目标方的 Associated Token Account 存在并将其解冻;如果代币有钩子,还要解析 transfer hook 账户。
  2. 转账(Transfer) — 一笔 Token-2022 transfer_checked,适用时附加钩子元数据。
  3. 结算(Finalize) — 如果代币支付收益,为双方登记收益检查点。

不要跳过准备阶段:向从未持有过该代币的接收者转账必然失败,因为对方的账户创建即冻结。

运营职责

合规代币不是一劳永逸的。两个后台任务保证其正确性。

任务做什么不运行的后果
重新冻结 cranker对不再合规的持有者调用 freeze_permissionlessKYC 过期的持有者无限期继续交易
收益 crank 与检查点推进全局指数并结算持有者余额收益不再累积,账目逐渐偏离

两者都是无许可的,因此可以由发行方运营、第三方运营或通过激励机制运营。

构建前需要决定的事项

四个决定塑造了下游的一切,其中三个之后无法更改。

决定可逆吗?影响
铸币创建时启用 transfer hook否决定逐笔转账模块将来是否可能
DefaultAccountState = Frozen否必需;没有它 MPL-3643 无法执行任何规则
将 permanent delegate 设为恢复 PDA否决定强制恢复将来是否可能
启用哪些模块大体可以持有者数量上限和投资者数量上限必须在任何供应量存在之前启用

注意事项

  • MPL-3643 代币是 Token-2022 铸币。硬编码 SPL Token 程序 ID 的集成将看不到它们。
  • 持有者数量上限和投资者数量上限必须在任何供应量存在之前启用,且持有者数量上限一旦激活就无法禁用。
  • 请在所有地方使用规范的 Associated Token Account。同一钱包拥有的非规范代币账户不会被持有者核算追踪,会悄无声息地使上限和收益失去同步。
  • 特定配置是否满足特定证券监管制度,是发行方及其法律顾问需要判断的法律问题。这些页面描述的是程序执行的内容。
  • 由 Metaplex Foundation 维护。最后核实于 2026-09-28。

FAQ

如何获得 MPL-3643 的访问权限?

MPL-3643 已在主网上以抢先体验方式运行。申请访问权限。Alpha 合作伙伴将获得直接的入驻支持。

发行 MPL-3643 代币之前需要什么?

一个以 DefaultAccountState = Frozen 创建的 Token-2022 铸币、一个启用了两个无许可标志并已封存的 Token ACL 配置、一个注册表代币发行者角色授权,以及一个获得了 KYC 及代币所需其他全部主题(如合格投资者认定、制裁筛查)授权的受信任证明者。

应该使用 SDK 还是生成的程序客户端?

使用 SDK。它会安排不可逆的引导顺序,并将每个管理操作路由到正确的直接调用或门控包装调用。生成的客户端面向需要指令级控制、并愿意自己负责顺序的集成方。

我需要自己运行 cranker 吗?

需要有一个 cranker 存在。没有任何机制会自动重新冻结不合规的持有者,因此没有 cranker 的话,KYC 过期的持有者会一直交易,直到有人调用 freeze_permissionless。cranker 是无许可的,所以可以是你自己的、第三方的,或一个有激励的网络。

我可以给已经发行的代币添加逐笔转账规则吗?

不可以。逐笔转账模块在 Token-2022 transfer hook 内部运行,而 Token-2022 扩展在铸币创建时固定。不带钩子发行将永久排除锁仓、交易量上限、暂停时段和交易场所限制。

Previous
概述