Tạo PDA Instance neo giữ escrow. Phải được gọi trước bất kỳ
thao tác nào khác.
Seeds của 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"]
Tài khoản
| Tài khoản | Có thể ghi | Người ký | Mô tả |
|---|---|---|---|
payer | ✓ | ✓ | Người trả phí giao dịch và rent |
admin | ✓ | Admin ban đầu của instance | |
instance_seed | ✓ | keypair dùng một lần chỉ để dẫn xuất PDA; pubkey của nó trở thành seed | |
instance | ✓ | PDA Instance (dẫn xuất từ ["instance", instance_seed.pubkey]) | |
system_program | System Program | ||
event_authority | PDA quyền hạn sự kiện | ||
private_channel_escrow_program | Chương trình Escrow |
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
bump | u8 | bump seed cho PDA instance. Tùy chọn: client Async tự dẫn xuất nếu bỏ qua |
IDL chứa một đối số
discriminator: u8(giá trị0) được tự động thiết lập bởi client được tạo ra và không nên truyền thủ công.
Lưu ý quan trọng
instance_seedlà một keypair dùng một lần, chỉ dùng để dẫn xuất PDAInstance. pubkey của nó trở thành seed; bản thân keypair không được lưu trữ hay tái sử dụng.- Hãy dùng
getCreateInstanceInstructionAsync; nó tự dẫn xuấtbumpvàinstancetừinstance_seedkhi chúng không được cung cấp. Chỉ truyềnbumpcủa bạn nếu bạn đã tính toán nó quaPubkey::find_program_address(&[b"instance", instance_seed_pubkey.as_ref()], &PROGRAM_ID) - Phát ra một sự kiện thông qua CPI
EmitEvent
Is this page helpful?