Δημιουργεί το Instance PDA που αγκυρώνει το escrow. Πρέπει να κληθεί πριν από οποιαδήποτε
άλλη λειτουργία.
Seeds 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 | ✓ | Throwaway keypair που χρησιμοποιείται μόνο για την παραγωγή PDA· το pubkey του γίνεται το seed | |
instance | ✓ | Instance PDA (παράγεται από ["instance", instance_seed.pubkey]) | |
system_program | System Program | ||
event_authority | PDA αρχής συμβάντων | ||
private_channel_escrow_program | Πρόγραμμα Escrow |
Παράμετροι
| Παράμετρος | Τύπος | Περιγραφή |
|---|---|---|
bump | u8 | bump seed για το instance PDA. Προαιρετικό: ο Async client το παράγει αυτόματα αν παραλειφθεί |
Το IDL περιέχει ένα όρισμα
discriminator: u8(τιμή0) που ορίζεται αυτόματα από τον παραγόμενο client και δεν πρέπει να περνιέται χειροκίνητα.
Σημαντικές Σημειώσεις
- Το
instance_seedείναι ένα throwaway 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?