KAS 계정의 다중 서명 트랜잭션

다중 서명 트랜잭션이 여러 키를 가진 하나의 Klaytn 계정으로 서명하는 방식이라면 KAS 계정으로 다중 서명하는 트랜잭션은 여러 KAS 계정이 서명한 트랜잭션을 전송하는 방식입니다. 여기서 말하는 KAS 계정은 KAS Console의 [My Page] > [My Info] > [Account ID]를 의미합니다. 다수의 KAS 계정 기반이기 때문에 트랜잭션을 전송하려면 함께 서명할 다른 사람의 KAS 계정을 추가해야 합니다. KLAY를 전송할 때 전송 주최를 제외한 다른 계정의 승인을 얻고 싶다면 KAS 계정으로 다중 서명하는 트랜잭션 전송 기능을 이용해보세요. 아래에서 단계별로 살펴보겠습니다.

  1. 서명할 KAS 계정 추가하기
  2. KLAY 전송 트랜잭션 생성하기
  3. 트랜잭션에 서명하기
  4. 트랜잭션 전송 결과 확인하기

서명할 KAS 계정 추가하기

1. KAS Console에 접속하여 로그인합니다.

2. [KAS Console] > [Service] > [Wallet] > [Multisig API]를 클릭합니다.

Multisig API 선택

이 기능을 처음 사용하면 아래처럼 계정 목록이 비어 있습니다.

Multisig 계정 목록

3. 오른쪽 상단 [계정 추가] 버튼을 클릭해 다중 서명할 계정 목록을 생성합니다.

  • Threshold(임계값): 트랜잭션 서명에 필요한 최소한의 가중치 합을 숫자로 입력합니다. 이 값은 Account Id의 총 weight의 합보다 작거나 같아야 합니다.
  • Account Id: 서명에 참여할 KAS account ID를 입력합니다. [계정 추가] 버튼을 클릭해 계정 목록 화면으로 이동하면 KAS Console에 로그인한 계정의 Account ID가 기본으로 입력됩니다. 다른 계정은 [추가] 버튼으로 추가하세요.
  • Weight: 해당 계정의 서명 가중치입니다. KAS Console에 로그인한 계정의 Account ID가 자동으로 입력되더라도 Weight은 숫자로 직접 입력해야 합니다. Account Id List에 추가한 모든 account ID의 누적합이 Threshold보다 커야 트랜잭션이 전송됩니다.

4. 서명에 참여할 계정의 Account Id를 모두 추가한 후에 [생성] 버튼을 클릭합니다. 수행한 작업이 성공하였습니다. 라는 메시지 창으로 성공 여부를 확인할 수 있습니다. 모든 단계를 거치면 Account 상세정보에서 세부 내역 확인이 가능합니다.

Account 상세정보

KLAY 전송 트랜잭션 생성하기

1. KAS Console에 접속하여 로그인합니다.

2. [KAS Console] > [Service] > [Wallet] > [Multisig API] 페이지 Address 목록에 추가된 주소를 클릭합니다.

3. Account 상세정보 페이지 우측 상단 [Transaction] 버튼을 클릭합니다. KLAY 전송 트랜잭션을 생성할 페이지로 이동합니다.

Account 상세정보

4. KLAY 전송 탭 하위 항목에 해당하는 값을 입력합니다.

Transaction 생성

  • 보내는 주소: KLAY를 보유한 계정 주소를 입력합니다. [KAS Console] > [Service] > [Wallet] > [Account Pools] 에서 관리하는 계정 주소만 이용할 수 있습니다.
  • 받는 주소: KLAY를 수령할 계정 주소를 입력합니다.
  • 전송 수량: 전송할 KLAY 수량을 숫자로 입력합니다. 1KLAY 이하 소수점 단위로도 입력할 수 있습니다.
  • 메모: 트랜잭션을 전송할 때 함께 보낼 메모를 입력할 수 있습니다. 입력할 메모가 없으면 비워둡니다.

5. 필수 항목을 모두 입력한 후 [다음] 버튼을 클릭합니다.

KLAY 전송 트랜잭션

6. 보내는 주소의 KLAY 잔고와 전송 수량 등 앞에서 입력한 정보와 이를 토대로 산출한 가스비를 확인합니다. [동의 및 전송] 버튼을 클릭하면 트랜잭션 전송을 수행합니다.

트랜잭션 전송

{% hint style="important" %} [Transaction] > [KLAY 전송] 탭에서 주의 사항과 함께 KLAY가 전송되었다는 안내 문구가 나타납니다. 이는 트랜잭션이 제출(Submitted) 상태라는 것을 나타내며, 트랜잭션이 발생하여 KLAY가 전송된 것은 아닐 수 있습니다. Transaction 상세정보에서 서명을 마쳐야 트랜잭션이 완전히 전송되므로 트랜잭션에 서명하기 항목을 확인해주세요. {% endhint %}

트랜잭션에 서명하기

1. KAS Console에 접속하여 로그인합니다.

2. [KAS Console] > [Service] > [Wallet] > [Multisig API] 페이지 Address 목록에 추가된 주소를 클릭합니다.

Pending Transaction

3. Account 상세정보 페이지 하단 [Pending Transactions] 탭 > [Tx Id] 목록에서 트랜잭션 ID를 클릭합니다.

Unsigned signers

4. 앞에서 추가한 KAS 계정별 Weight과 서명 상태를 확인할 수 있습니다. 트랜잭션 [전송 및 확인] 버튼을 클릭하더라도 트랜잭션을 생성한 계정의 서명이 자동 추가되지 않습니다. 트랜잭션 상세정보를 확인한 후에 페이지 우측 상단 [서명하기] 버튼을 클릭하세요.

{% hint style="info" %} KLAY를 보내는 주소와 받는 주소를 제외한 모든 입력값은 16진수로 변환되어 표시됩니다. {% endhint %}

Signed status

5. 서명을 완료한 Account Id는 Status가 signed로 변경됩니다. 등록한 모든 KAS 계정으로 서명을 완료하면 트랜잭션이 전송되고, Pending Transactions에 남아 있는 트랜잭션이 없습니다.

트랜잭션 전송 완료

트랜잭션 전송 결과 확인하기

1. Klaytn scope에 접속합니다.

2. KLAY 전송 트랜잭션의 트랜잭션 해시, 또는 계정 주소를 검색창에 입력합니다.

트랜잭션 해시 조회 결과

3. 전송 성공 여부는 오른쪽 상단에 표시됩니다. 이 튜토리얼에서 진행한 KLAY 전송 트랜잭션은 성공적으로 전송되었습니다.

이 문서 혹은 KAS에 관한 문의는 개발자 포럼을 방문해 도움 받으십시오.