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
| Akun | Dapat Ditulis | Penanda Tangan | Deskripsi |
|---|---|---|---|
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_program | System Program | ||
event_authority | PDA otoritas event | ||
private_channel_escrow_program | Program Escrow |
Parameter
| Parameter | Tipe | Deskripsi |
|---|---|---|
bump | u8 | bump seed untuk instance PDA. Opsional: klien Async akan menurunkannya secara otomatis jika tidak disertakan |
IDL berisi argumen
discriminator: u8(nilai0) yang diatur secara otomatis oleh klien yang dihasilkan dan tidak boleh dioper secara manual.
Catatan Penting
instance_seedadalah keypair sementara, hanya digunakan untuk menurunkanInstancePDA. pubkey-nya menjadi seed; keypair itu sendiri tidak disimpan atau digunakan kembali.- Gunakan
getCreateInstanceInstructionAsync; fungsi ini secara otomatis menurunkanbumpdaninstancedariinstance_seedapabila tidak disediakan. BerikanbumpAnda sendiri hanya jika Anda sudah menghitungnya melaluiPubkey::find_program_address(&[b"instance", instance_seed_pubkey.as_ref()], &PROGRAM_ID) - Memancarkan event melalui CPI
EmitEvent
Is this page helpful?