ANAM145 Control Rail DOCS
문서 검색 ⌘K
GitHub ↗ ← 사이트로 대시보드
문서 변경 이력
문서/연동/SDK
SDK

SDK (클라이언트)

SDK는 디바이스에서 키를 만들고 tx를 멀티사인 서명합니다. 개인키·seed는 절대 서버로 나가지 않습니다. 서버 호출 없이 기기 로컬에서만 동작합니다.

데이터 경계

키 재료는 절대 서버로 넘어가지 않습니다. 작업별로 무엇이 로컬에 남고 무엇이 서버로 가는지가 명확히 갈립니다.

작업클라이언트(로컬)서버로절대 안 감
지갑 생성유저 키 생성공개키개인키 · 니모닉
거래tx 디코드·확인 → 서명서명값개인키
복구 (키 분실)새 키 생성공개키신·구 개인키
복원 (니모닉 보유)같은 키 재파생없음니모닉

메서드

기기 로컬에서 동작하는 세 가지 메서드입니다. 서버 호출이 없습니다.

기능메서드RequestResponse
키 생성generateKey(chain)chain{ publicKey } · 개인키·니모닉은 로컬
복원(니모닉)restoreFromMnemonic(mnemonic)mnemonic{ publicKey }
서명signTransaction(unsignedTx)unsignedTx{ signature }

서명 흐름

게이트웨이 prepare가 내려준 미서명 tx를 그대로 멀티사인 서명하고, 그 서명값을 submit으로 보냅니다. 게이트웨이가 기관·안암 서명과 결합해 정족수를 채웁니다.

// prepare로 받은 tx를 그대로 서명 → submit으로 전송
const { unsignedTx } = await api.prepare(address, { to, amount, asset })
const { signature } = sdk.signTransaction(unsignedTx)
await api.submit(address, { txId, userSignature: signature })
중요 — SDK는 받은 unsignedTx변형하거나 재-autofill 하지 않습니다. 서명자(user·institution·anam) 전원이 완전히 동일한 tx에 서명해야 결합되기 때문입니다.