토큰 스왑 종류 및 절차

1. 토큰 스왑의 정의

이더리움 메인네트워크에 발행 된 ERC-20 토큰을 루니버스 메인 토큰으로 재 분배 하는 것을 의미합니다. Migration이라고도 합니다.

2. 토큰 스왑 방식 비교

기존 토큰이 있던 이더리움 메인넷에서 유저들의 EOA와 소유 토큰의 양을 수집하는 방법에 따라 1) 이더리움 메인넷에서 스냅샷을 찍는 방법과 2) 가상계좌를 발급하여 수집하는 방법으로 나눌 수 있습니다.

3. 토큰 스왑 방식 상세 절차

[1] 스냅샷 방식

고객사 사전 준비 사항

1. 서비스 페이지

  • 고객사는 유저들이 접속하여 Drops에서 생성한 EOA를 입력하고 이더리움 메인네트워크에서 가지고 있던 EOA를 입력하여 두 주소의 주인이 일치 하다는 것을 입력받을 수 있는 서비스 페이지를 별도로 구현 하여야 합니다.

2. 루니버스 콘솔

토큰 스왑 프로세스

1. 유저는 Drops에서 루니버스 EOA를 생성 가입

2. 유저는 서비스페이지에서 DROPS에서 생성한 EOA를 입력하고,이더리움 EOA 소유 인증

[a] Drops에서 생성한 EOA를 서비스 페이지에 입력
[b] 기존 이더리움네트워크에서 보유하고 있던 EOA를 입력
[c] 기존 이더리움네트워크에서 보유하고 있던 EOA에 대한 소유권을 증명

한가지 예시로, 메타마스크의 personal_sign를 활용하면 서명결과를 통해 사용자의 EOA 소유 여부를 알 수 있습니다. (Drops 주소를 자신의 PK로 서명하고 서명 결과를 통해 EOA를 구하는 등으로 활용)

[Metamask Personal Sign - https://metamask.github.io/metamask-docs/API_Reference/Signing_Data/Personal_Sign][Metamask Personal Sign - https://metamask.github.io/metamask-docs/API_Reference/Signing_Data/Personal_Sign]

[Metamask Personal Sign - https://metamask.github.io/metamask-docs/API_Reference/Signing_Data/Personal_Sign]

[d] 고객사는 이더리움 메인네트워크에서 스냅샷 저장 및 EOA별 잔고 기록

  • 스냅샷 일정을 사전에 공지하고 그 이후 토큰 기능을 정지해야합니다.
  • 한 가지 예로, Ethereum BigQuery 활용해 스냅샷 원데이터를 구하고 특정 블록까지의 Transfer 이벤트를 취합해 계산합니다.

[e] 고객사는 Luniverse console 에서 Airdrop tool을 이용하여 Airdrop 실행
* Airdrop tool 상세 가이드 메인 토큰(MT) Airdrop 전송하기 참고 바랍니다.

[f] 고객사는 Airdrop tool 에서 Airdrop 결과를 확인

  • Airdrop 페이지 하단에서 transfer 정보를 확인할 수 있습니다. 각 Transfer의 타이틀을 클릭하여 Transfer의 상세 정보를 확인할 수 있습니다.
  • Transfer를 실행한 날짜와 title, address 개수, 전송한 총 토큰 수량과 transfer의 현재 상태를 알 수 있습니다. Status는 아래와 같이 5가지(Waiting, Running, Transferred, Failed, Partially Failed)로 구분됩니다.

유저는 Drops에서 메인토큰 Airdrop 결과를 확인

[2] 가상계좌 발급 방식

고객사 사전 준비 사항

1. 서비스 페이지

  • 고객사는 유저들이 접속하여 Drops에서 생성한 EOA를 입력하고 이더리움 메인네트워크에서 가지고 있던 EOA를 입력하여 두 주소의 주인이 일치한다는 것을 입력받을 수 있는 서비스 페이지를 별도로 구현 하여야 합니다.

2. 루니버스 콘솔

  • 고객사는 토큰 스왑을 실행 할 메인토큰과 트랜잭션을 발생할 REOA를 준비해 둬야 합니다.
  • 자세한 사항은 메인 토큰(MT) 발행하기 링크를 참고 바랍니다.

3. Swap 프로그램

  • 이더리움 ERC20 토큰 컨트랙트에서 발생하는 이벤트 로그를 수집해야합니다.

토큰 스왑 프로세스

1. 유저는 Drops 에서 루니버스 EOA를 생성

2. 유저는 서비스페이지에서 Drops를 통해 생성한 EOA를 입력하고 이더리움 메인넷에서 발행 된 가상계좌를 발급

[ 케이스타라이브 서비스 페이지 가상계좌 발급 예시 ][ 케이스타라이브 서비스 페이지 가상계좌 발급 예시 ]

[ 케이스타라이브 서비스 페이지 가상계좌 발급 예시 ]

3. 고객사는 Swap program에서 이벤트 로그 처리

[a] 이더리움 ERC20 토큰 컨트랙트에서 발생하는 이벤트 로그를 수집해야 합니다
[b] 거래소의 경우 24컨펌을 기준으로 합니다.
[c] 별도 노드를 운영하거나 Infura(infura.io), 칸델라체인(candelachain.com - 케이스타라이브)를 활용합니다.
[b] 이중지불 방지를 위해 이벤트 로그 별로 고유 키값과 함께 상태 관리를 해야 합니다.

4. 고객사는 Luniverse console 에서 Airdrop tool 을 이용하여 Airdrop을 실행

 * Airdrop tool 상세 가이드 메인 토큰(MT) Airdrop 전송하기를 참고 바랍니다.

5. 고객사는 Airdrop tool 에서 Airdrop 결과를 확인

  • Airdrop 페이지 하단에서 transfer 정보를 확인할 수 있습니다. 각 Transfer의 타이틀을 클릭하여 Transfer의 상세 정보를 확인할 수 있습니다.
  • Transfer를 실행한 날짜와 title, address 개수, 전송한 총 토큰 수량과 transfer의 현재 상태를 알 수 있습니다. Status는 아래와 같이 5가지(Waiting, Running, Transferred, Failed, Partially Failed)로 구분됩니다.