Host SDK
이벤트
지갑에서 호스트로 보내는 메시지와 처리 순서입니다.
초기화 흐름
- 호스트가
client.start()로 수신을 시작합니다. - 지갑이
took-wss:ready를 보냅니다. - SDK가 단기 세션과 capabilities를 담은
took-wss:init을 보냅니다. - 지갑이 bootstrap을 수행한 뒤
took-wss:bootstrapped또는 오류를 보냅니다.
SDK는 같은 인스턴스에서 첫 ready에만 초기화 메시지를 보냅니다.
수신 이벤트
모든 이벤트는 필수 type: string, protocolVersion: 1을 포함합니다. 아래 추가 필드는 각 이벤트에서 필수이며 별도 표기 없이는 null·기본값이 없습니다.
| type | 추가 필드 | 의미 |
|---|---|---|
| took-wss:ready | 없음 | 초기화 메시지 수신 준비 |
| took-wss:bootstrapped | tenantId: string, sessionId: string | 런타임 초기화 완료 |
| took-wss:navigation | route: string | 지갑 내부 경로 변경 |
| took-wss:shell-change | mode: 'root' 또는 'focus' | 호스트 화면 영역 변경 요청 |
| took-wss:host-auth-request | requestId: string, purpose: HostAuthenticationPurpose | 고객 인증 요청 |
| took-wss:secure-sar-create-request | requestId: string | 호스트의 보안 지갑 생성 요청 |
| took-wss:secure-import-request | requestId: string, method: WalletImportMethod | 보안 가져오기 요청 |
| took-wss:secure-transaction-sign-request | requestId: string, request: SecureTransactionSigningRequest | 고객 측 서명 요청 |
| took-wss:error | code: string | 지갑 오류 |
승인 요청 처리
SDK는 승인 요청을 onEvent에 알린 뒤 해당 호스트 콜백을 호출합니다. 결과 메시지는 원래 requestId에 연결하므로 호스트가 직접 같은 결과를 중복 전송하지 않습니다.
인증·키 생성·서명은 고객이 통제하는 호스트 환경에서 수행합니다. 개발 참조 호스트의 자동화 경로를 운영 인증 경로로 사용하지 않습니다.
화면 소유권
shell-change를 받으면 기관의 presentation 계약에 맞춰 헤더·탭의 표시를 조정합니다. 지갑과 호스트가 같은 헤더와 내비게이션을 중복 렌더링하지 않도록 합니다.