可用守卫
铸造限制守卫
Last updated March 10, 2026
Mint Limit 守卫限制每个钱包可以从 Core Candy Machine 铸造的资产数量,按钱包、按 Candy Machine 和按可配置标识符进行跟踪。
概述
Mint Limit 守卫允许指定每个钱包可以铸造的资产数量限制。
限制是按钱包、每个 candy machine 和每个标识符设置的——在设置中提供——以允许在同一个 Core Candy Machine 中进行多个铸造限制。
守卫设置
Mint Limit 守卫包含以下设置:
- ID:此守卫的唯一标识符。不同的标识符将使用不同的计数器来跟踪给定钱包铸造了多少物品。这在使用守卫组时特别有用,因为我们可能希望每个组都有不同的铸造限制。
- Limit:该标识符每个钱包允许的最大铸造数量。
使用 Mint Limit 守卫设置 Candy Machine
铸造设置
Mint Limit 守卫包含以下铸造设置:
- ID:此守卫的唯一标识符。
注意,如果您计划在没有我们 SDK 帮助的情况下构建指令,您需要将这些铸造设置和更多内容作为指令参数和剩余账户的组合提供。详情请参阅 Core Candy Guard 的程序文档。
使用 Mint Limit 守卫铸造
您可以使用 mintArgs 参数传递 Mint Limit 守卫的铸造设置,如下所示。
mintV1(umi, {
// ...
mintArgs: {
mintLimit: some({ id: 1 }),
},
});
Route 指令
Mint Limit 守卫不支持 route 指令。
MintLimit 账户
当使用 MintLimit 守卫时,会为每个钱包、CandyMachine 和 id 组合创建一个 MintCounter 账户。出于验证目的,可以这样获取它:
import { safeFetchMintCounterFromSeeds } from "@metaplex-foundation/mpl-core-candy-machine";
import { umi } from "@metaplex-foundation/mpl-core-candy-machine";
const mintCounter = await safeFetchMintCounterFromSeeds(umi, {
id: 1, // 您在守卫配置中设置的 mintLimit id
user: umi.identity.publicKey,
candyMachine: candyMachine.publicKey,
// 或者使用您的 CM 地址 candyMachine: publicKey("Address")
candyGuard: candyMachine.mintAuthority,
// 或者使用您的 candyGuard 地址 candyGuard: publicKey("Address")
});
// 已铸造数量
console.log(mintCounter.count)
注意事项
- Mint Limit 计数器通过
MintCounterPDA 在链上跟踪,该 PDA 从钱包地址、Candy Machine 地址和守卫id派生。每个唯一组合创建一个单独的计数器账户。 - 在不同的守卫组中使用不同的
id值,允许每个组为同一钱包强制执行独立的铸造限制。 MintCounter账户在 Candy Machine 完全铸造完毕后仍然保留在链上。您可以使用safeFetchMintCounterFromSeeds获取它以检查给定钱包已铸造了多少资产。
