CreateInstance

Membuat Instance PDA yang menjadi jangkar escrow. Harus dipanggil sebelum operasi lainnya.

Seed PDA

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"]

Akun

AkunDapat DitulisPenanda TanganDeskripsi
payer✓✓Pembayar biaya dan pembayar rent
admin✓Admin awal dari instance
instance_seed✓keypair sementara yang hanya digunakan untuk derivasi PDA; pubkey-nya menjadi seed
instance✓Instance PDA (diturunkan dari ["instance", instance_seed.pubkey])
system_programSystem Program
event_authorityPDA otoritas event
private_channel_escrow_programProgram Escrow

Parameter

ParameterTipeDeskripsi
bumpu8bump seed untuk instance PDA. Opsional: klien Async akan menurunkannya secara otomatis jika tidak disertakan

IDL berisi argumen discriminator: u8 (nilai 0) yang diatur secara otomatis oleh klien yang dihasilkan dan tidak boleh dioper secara manual.

Catatan Penting

  • instance_seed adalah keypair sementara, hanya digunakan untuk menurunkan Instance PDA. pubkey-nya menjadi seed; keypair itu sendiri tidak disimpan atau digunakan kembali.
  • Gunakan getCreateInstanceInstructionAsync; fungsi ini secara otomatis menurunkan bump dan instance dari instance_seed apabila tidak disediakan. Berikan bump Anda sendiri hanya jika Anda sudah menghitungnya melalui Pubkey::find_program_address(&[b"instance", instance_seed_pubkey.as_ref()], &PROGRAM_ID)
  • Memancarkan event melalui CPI EmitEvent

Is this page helpful?

Daftar Isi

Edit Halaman
© 2026 Yayasan Solana. Semua hak dilindungi.