CreateInstance

Erstellt die Instance PDA, die das Escrow verankert. Muss vor jeder anderen Operation aufgerufen werden.

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

Konten

KontenBeschreibbarSignerBeschreibung
payer✓✓Gebühren- und rent-Zahler
admin✓Initialer Administrator der Instanz
instance_seed✓Einweg-keypair, das nur zur PDA-Ableitung verwendet wird; sein pubkey wird zum seed
instance✓Instance PDA (abgeleitet aus ["instance", instance_seed.pubkey])
system_programSystem Program
event_authorityEvent-Authority-PDA
private_channel_escrow_programEscrow-Programm

Parameter

ParameterTypBeschreibung
bumpu8bump seed für die Instance PDA. Optional: Der Async-Client leitet ihn automatisch ab, wenn er weggelassen wird

Die IDL enthält ein discriminator: u8-Argument (Wert 0), das automatisch vom generierten Client gesetzt wird und nicht manuell übergeben werden sollte.

Wichtige Hinweise

  • instance_seed ist ein Einweg-keypair, das nur zur Ableitung der Instance PDA verwendet wird. Sein pubkey wird zum seed; das keypair selbst wird weder gespeichert noch wiederverwendet.
  • Verwende getCreateInstanceInstructionAsync; es leitet bump und instance automatisch aus instance_seed ab, wenn diese nicht angegeben werden. Übergib einen eigenen bump nur, wenn du ihn bereits über Pubkey::find_program_address(&[b"instance", instance_seed_pubkey.as_ref()], &PROGRAM_ID) berechnet hast.
  • Sendet ein Ereignis über EmitEvent CPI

Is this page helpful?

Inhaltsverzeichnis

Seite bearbeiten
© 2026 Solana Foundation. Alle Rechte vorbehalten.