멀티시그 수동 서명하기

멀티시그 지갑에서 고객사의 출금 통제권을 강화하기 위해 수동 서명 옵션을 사용할 수 있습니다. 해당 기능을 사용하면 옥텟이 생성한 출금 트랜잭션을 받아 고객사 서버에서 직접 서명한 뒤 출금합니다.

옥텟에서는 기본적으로 고객사의 출금 신청 시 트랜잭션 생성 - 서명 - 전파 과정을 자동으로 진행합니다. 하지만 수동 서명 옵션으로 출금을 신청할 경우 옥텟에서는 서명 과정을 제외한 트랜잭션 생성 및 전파 과정만 진행합니다. 옥텟이 생성한 트랜잭션에 직접 서명한 뒤, 서명된 트랜잭션 값을 보내면 옥텟에서 최종 전파합니다.





수동 서명하기

  1. 옥텟키 조회 API를 호출하여 옥텟키를 조회합니다. 암호화된 옥텟키가 반환됩니다.
  2. 암호화된 옥텟키를 복호화합니다.
  3. 옥텟키와 유저키를 합성하여, 주소의 프라이빗 키를 도출합니다.
  4. 출금 신청 API를 호출합니다. 이때, autoSigning 필드를 false로 신청합니다.
  5. 출금 신청 정보 조회 API나 또는 출금 서명 대기 웹훅으로 생성된 트랜잭션을 확인합니다.
  6. 생성된 serializedUnsignedTransaction을 3단계에서 도출한 프라이빗 키로 서명합니다.
  7. 서명된 출금 트랜잭션 등록 API를 호출하여 해당 출금에 대한 serializedSignedTransaction을 등록합니다.



출금 신청 상태

상태명내용
AWAITING_BUILD출금이 신청되었으며, 출금 트랜잭션이 생성되기 전의 상태
AWAITING_SIGNING옥텟이 출금 트랜잭션을 생성했으며, 고객사가 서명하기 전의 상태
AWAITING_WITHDRAWAL고객사가 서명하고, 출금 트랜잭션이 전파되기 전의 상태
SENT출금 트랜잭션이 네트워크에 전파된 상태
FAILED출금 트랜잭션 생성에 실패한 상태



출금 트랜잭션 상태

상태명내용
PENDING출금 트랜잭션이 생성된 상태
FINALIZED출금 트랜잭션이 블록에 포함된 상태
FAILED출금 트랜잭션이 실패한 상태