可用守卫

Core Candy Machine - 资产门控守卫

Last updated March 10, 2026

Asset Gate 守卫仅在付款人持有指定 collection 的资产时允许铸造,而不会销毁或转移该资产。

概述

Asset Gate 守卫在付款人是指定资产 collection 的资产持有者时允许铸造。资产将不会被转移。

如果付款人没有拥有来自必需 collection 的资产,铸造将失败。

守卫设置

Asset Gate 守卫包含以下设置:

  • Required Collection:必需 Collection 的铸造地址。我们用于证明所有权的资产必须属于此 collection。

使用 Asset Gate 守卫设置 Candy Machine

create(umi, {
// ...
guards: {
assetGate: some({
requiredCollection: requiredCollection.publicKey,
}),
},
});

API 参考:createAssetGate

铸造设置

Asset Gate 守卫包含以下铸造设置:

  • Asset Address:用于证明所有权的资产地址。此资产必须属于必需的 collection 且必须属于铸造者。
  • Collection Address:用于证明所有权的 Collection 地址。

注意,如果您计划在没有我们 SDK 帮助的情况下构建指令,您需要将这些铸造设置和更多内容作为指令参数和剩余账户的组合提供。详情请参阅 Core Candy Guard 的程序文档

使用 Asset Gate 守卫设置 Candy Machine

您可以使用 mintArgs 参数传递 Asset Gate 守卫的铸造设置,如下所示。

mintV1(umi, {
// ...
mintArgs: {
assetGate: some({
requiredCollection: publicKey(requiredCollection),
destination,
}),
},
});

API 参考:mintV1AssetGateMintArgs

Route 指令

Asset Gate 守卫不支持 route 指令。

注意事项

  • Asset Gate 守卫验证所有权但不会销毁或转移所持有的资产。除非与其他限制铸造的守卫组合使用,否则同一资产可以多次用于铸造。
  • 用于验证的资产必须在铸造时属于铸造钱包且属于指定的 collection。
  • 要在铸造期间销毁所持有的资产而不仅仅是验证所有权,请改用 Asset Burn 守卫。