可用守卫

SOL 支付守卫

Last updated March 10, 2026

Sol Payment 守卫在从 Core Candy Machine 铸造时向付款人收取可配置数量的 SOL,将付款转移到指定的目标钱包。

概述

Sol Payment 守卫允许我们在铸造时向付款人收取一定数量的 SOL。可以配置 SOL 的数量和目标地址。

守卫设置

Sol Payment 守卫包含以下设置:

  • Lamports:向付款人收取的 SOL(或 lamports)数量。
  • Destination:应接收与此守卫相关的所有付款的钱包地址。

使用 Sol Payment 守卫设置 Candy Machine

注意,在此示例中,我们使用当前身份作为目标钱包。

create(umi, {
// ...
guards: {
solPayment: some({
lamports: sol(1.5),
destination: umi.identity.publicKey,
}),
},
});

API 参考:createSolPayment

铸造设置

Sol Payment 守卫包含以下铸造设置:

  • Destination:应接收与此守卫相关的所有付款的钱包地址。

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

使用 Sol Payment 守卫铸造

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

mintV1(umi, {
// ...
mintArgs: {
solPayment: some({ destination: treasury }),
},
});

API 参考:mintV1SolPaymentMintArgs

Route 指令

Sol Payment 守卫不支持 route 指令。

注意事项

  • Sol Payment 守卫要求在守卫设置和铸造设置中同时提供 destination 钱包地址。
  • 付款金额以 lamports 为单位指定。使用 sol() 辅助函数将 SOL 转换为 lamports(例如 sol(1.5) 等于 1,500,000,000 lamports)。
  • 付款人必须有足够的 SOL 余额来支付铸造付款和 Solana 交易费用。