Skip to main content

API 연동

app to app​

개요​

app to app API를 사용하는 단계는 Prepare, Request, Result 3단계로 구분됩니다.

Prepare​

사용자에게 요청할 작업을 준비합니다. 아래와 같은 작업이 가능합니다.

  • 인증
  • 메시지 서명
  • Coin 전송
  • 스마트 컨트렉트 실행
  • 네트워크 추가
  • 토큰 추가

"Coin 전송" 과 "스마트 컨트렉트 실행"은 블록체인 네트워크로 트랜젝션을 전송합니다.

현재 지갑에서는 아래와 같은 네트워크를 지원합니다.

NameTypeChain Id
Kaia (mainnet)Kaia8217
Kairos (testnet)Kaia1001
.........

여러 블록체인 네트워크 중 원하는 네트워크를 고르기 위해 Prepare 단계에서 Chain Id를 선택할 수 있습니다. 선택하지 않는다면 기본으로 Kaia network가 선택됩니다.

인증

사용자의 지갑 주소를 얻어옵니다.

서명

사용자의 지갑 주소를 이용해 서명을 진행합니다.
각 네트워크의 타입에 해당하는 형태로 서명이 이루어집니다.

NameTypeChain Id
Kaia (mainnet)Kaiahttps://docs.kaia.io/ko/references/json-rpc/kaia/sign
Kairos (testnet)Kaiahttps://docs.kaia.io/ko/references/json-rpc/kaia/sign
.........

Coin 전송

사용자의 지갑에서 지정된 주소로 native coin을 전송합니다. (ex. KLAY)

스마트 컨트렉트 실행

요청한 ABI에 해당하는 스마트컨트렉트를 실행합니다.

네트워크 추가​

사용자의 지갑에 네트워크를 추가합니다.
Kaia Wallet 에서 지원하는 네트워크만 가능합니다.

토 추가​

사용자의 지갑에 특정 토큰(ERC-20, KIP-7) 을 추가합니다.

Request​

Prepare 단계에서 생성된 Request Key를 이용해 유저에게 동작 실행을 승인 받습니다.

이를 위해 App2App Scheme 실행 혹은 QR코드 리딩이 필요합니다.

App2App Scheme은 다음과 같습니다.

Android

kaikas://wallet/api?request_key=${REQUEST_KEY}

iOS

kaikas://wallet/api?request_key=${REQUEST_KEY}

만약 모바일 지갑과 같은 단말기에서 수행되지 않는다면(ex. PC Web browser) 유저는 모바일에서 QR code나 URL을 통해 접근할 수 있습니다.

https://app.kaiawallet.io/a/${REQUEST_KEY}

위 주소를 담는 QR code를 생성 후 유저가 모바일 폰 혹은 앱 내의 QR스캐너를 이용해 스캔한다면, 서명이 가능합니다.

(QR code 는 http://davidshimjs.github.io/qrcodejs/ 등을 이용하여 직접 생성할 수 있습니다.)

Result​

요청한 결과를 확인합니다.
사용자의 승인은 비동기적으로 수행되기 때문에, 결과 확인을 위해서는 성공 혹은 실패가 확인될 때 까지 Result API 를 통해 반복적으로 확인해야 합니다.