ينشئ Instance PDA الذي يربط الضمان. يجب استدعاؤه قبل أي
عملية أخرى.
بذور 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"]
الحسابات
| الحساب | قابل للكتابة | موقِّع | الوصف |
|---|---|---|---|
payer | ✓ | ✓ | دافع الرسوم ودافع rent |
admin | ✓ | المشرف الأولي للـ instance | |
instance_seed | ✓ | keypair مؤقت يُستخدم فقط لاشتقاق PDA؛ يصبح pubkey الخاص به هو seed | |
instance | ✓ | Instance PDA (مشتق من ["instance", instance_seed.pubkey]) | |
system_program | System Program | ||
event_authority | PDA صلاحية الأحداث | ||
private_channel_escrow_program | برنامج الضمان |
المعاملات
| المعامل | النوع | الوصف |
|---|---|---|
bump | u8 | bump seed الخاص بـ instance PDA. اختياري: يشتقه العميل Async تلقائيًا إذا لم يُحدَّد |
يحتوي IDL على وسيطة
discriminator: u8(القيمة0) يتم ضبطها تلقائيًا بواسطة العميل المُولَّد ولا ينبغي تمريرها يدويًا.
ملاحظات مهمة
instance_seedهو keypair مؤقت، يُستخدم فقط لاشتقاقInstancePDA. يصبح pubkey الخاص به هو seed؛ ولا يتم تخزين keypair نفسه أو إعادة استخدامه.- استخدم
getCreateInstanceInstructionAsync؛ فهو يشتقbumpوinstanceتلقائيًا منinstance_seedعندما لا يتم توفيرهما. مرِّرbumpالخاص بك فقط إذا حسبته مسبقًا عبرPubkey::find_program_address(&[b"instance", instance_seed_pubkey.as_ref()], &PROGRAM_ID) - يُصدر حدثًا عبر
EmitEventCPI
Is this page helpful?