CreateInstance

创建锚定托管的 Instance PDA。必须在任何其他操作之前调用。

PDA Seeds

instance -> ["instance", instance_seed: Pubkey]
allowed_mint -> ["allowed_mint", instance_pda: Pubkey, mint: Pubkey]
operator -> ["operator", instance_pda: Pubkey, operator: Pubkey]
event_authority -> ["event_authority"]

账户

账户可写签名者描述
payer✓✓手续费支付方与 rent 支付方
admin✓实例的初始管理员
instance_seed✓仅用于 PDA 派生的一次性 keypair;其 pubkey 将作为 seed
instance✓Instance PDA(由 ["instance", instance_seed.pubkey] 派生)
system_programSystem Program
event_authority事件授权 PDA
private_channel_escrow_program托管程序

参数

参数类型描述
bumpu8实例 PDA 的 bump seed。可选:若未提供,Async 客户端将自动派生

IDL 包含一个 discriminator: u8 参数(值为 0),由生成的客户端自动设置, 无需手动传入。

重要说明

  • instance_seed 是一个一次性 keypair,仅用于派生 Instance PDA。其 pubkey 将作为 seed;keypair 本身不会被存储或重复使用。
  • 请使用 getCreateInstanceInstructionAsync;当未提供 bump 和 instance 时,它将自动从 instance_seed 派生。仅当您已通过 Pubkey::find_program_address(&[b"instance", instance_seed_pubkey.as_ref()], &PROGRAM_ID) 自行计算时,才需手动传入 bump。
  • 通过 EmitEvent CPI 触发事件

Is this page helpful?

Table of Contents

Edit Page
©️ 2026 Solana 基金会版权所有