에스크로를 고정하는 Instance PDA를 생성합니다. 다른 모든 작업보다
먼저 호출해야 합니다.
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"]
계정
| 계정 | 쓰기 가능 | 서명자 | 설명 |
|---|---|---|---|
payer | ✓ | ✓ | 수수료 납부자 및 rent 납부자 |
admin | ✓ | 인스턴스의 초기 관리자 | |
instance_seed | ✓ | PDA 파생에만 사용되는 일회성 keypair; 해당 pubkey가 seed가 됩니다 | |
instance | ✓ | Instance PDA (["instance", instance_seed.pubkey]에서 파생) | |
system_program | System Program | ||
event_authority | 이벤트 권한 PDA | ||
private_channel_escrow_program | 에스크로 프로그램 |
파라미터
| 파라미터 | 타입 | 설명 |
|---|---|---|
bump | u8 | 인스턴스 PDA의 bump seed. 선택 사항: Async 클라이언트는 생략 시 자동으로 파생합니다 |
IDL에는
discriminator: u8인수(값0)가 포함되어 있으며, 이는 생성된 클라이언트에 의해 자동으로 설정되므로 수동으로 전달해서는 안 됩니다.
중요 참고 사항
instance_seed는InstancePDA 파생에만 사용되는 일회성 keypair입니다. 해당 pubkey가 seed가 되며, keypair 자체는 저장되거나 재사용되지 않습니다.getCreateInstanceInstructionAsync를 사용하세요. 이 함수는instance_seed가 제공되지 않을 경우bump와instance를 자동으로 파생합니다. 이미Pubkey::find_program_address(&[b"instance", instance_seed_pubkey.as_ref()], &PROGRAM_ID)를 통해 계산한 경우에만 직접bump를 전달하세요.EmitEventCPI를 통해 이벤트를 발생시킵니다
Is this page helpful?