CreateInstance

에스크로를 고정하는 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_programSystem Program
event_authority이벤트 권한 PDA
private_channel_escrow_program에스크로 프로그램

파라미터

파라미터타입설명
bumpu8인스턴스 PDA의 bump seed. 선택 사항: Async 클라이언트는 생략 시 자동으로 파생합니다

IDL에는 discriminator: u8 인수(값 0)가 포함되어 있으며, 이는 생성된 클라이언트에 의해 자동으로 설정되므로 수동으로 전달해서는 안 됩니다.

중요 참고 사항

  • instance_seed는 Instance PDA 파생에만 사용되는 일회성 keypair입니다. 해당 pubkey가 seed가 되며, keypair 자체는 저장되거나 재사용되지 않습니다.
  • getCreateInstanceInstructionAsync를 사용하세요. 이 함수는 instance_seed가 제공되지 않을 경우 bump와 instance를 자동으로 파생합니다. 이미 Pubkey::find_program_address(&[b"instance", instance_seed_pubkey.as_ref()], &PROGRAM_ID)를 통해 계산한 경우에만 직접 bump를 전달하세요.
  • EmitEvent CPI를 통해 이벤트를 발생시킵니다

Is this page helpful?

목차

페이지 편집