Download OpenAPI specification:Download
KIP-7 API는 탈중앙화 어플리케이션 (DApp) 개발자들이 Kaia의 대체가능토큰(FT) 기술 표준인 KIP-7에 따라 생성된 컨트랙트 및 토큰을 관리하는 것을 도와줍니다. KIP-7 API의 다양한 엔드포인트를 사용하여 다음 작업을 수행할 수 있습니다.
KAS에 대한 자세한 정보는 KAS Docs를 참고해 주세요. 질문이 있으시다면 언제든지 KAS 개발자 포럼에 남겨주세요.
별칭
KIP-7 API에서는 파라미터로 컨트랙트 주소가 요구될 때 **별칭(alias)**을 대신 쓸 수 있습니다. 컨트랙트 배포시 원하는 별칭을 지정하면 이후 API 호출 시 복잡한 주소를 사용할 필요가 없습니다.
배포자(deployer)
컨트랙트 생성 시 Credential 하나 당 컨트랙트 관리 계정인 deployer
의 주소 하나가 생성됩니다. KIP-7 API에서 이 주소는 토큰에 대한 다양한 작업에 사용됩니다. KIP7Deployer를 이용해 조회할 수 있습니다.
caver와 같은 SDK를 이용하여 Kaia 네트워크에 컨트랙트를 생성한 경우에도 컨트랙트 주소와 Wallet API 계정을 활용해 컨트랙트 및 토큰을 관리할 수 있습니다.
KAS KIP-7 서비스에서는 트랜잭션 전송 시 수수료 지불 방법으로 4가지 타입을 지원합니다.
1. KAS 글로벌 대납 계정만 사용하는 경우
KAS 글로벌 대납 계정을 이용하여 모든 트랜잭션을 전송합니다.
{
"options": {
"enableGlobalFeePayer": true
}
}
2. 사용자 대납 계정을 이용하는 경우
사용자 대납 계정을 이용하여 모든 트랜잭션을 전송합니다.
{
"options": {
"enableGlobalFeePayer": false,
"userFeePayer": {
"krn": "krn:1001:wallet:20bab367-141b-439a-8b4c-ae8788b86316:feepayer-pool:default",
"address": "0xd6905b98E4Ba43a24E842d2b66c1410173791cab"
}
}
}
3. KAS 글로벌 대납 계정 + 사용자 대납 계정을 모두 이용하는 경우
사용자 대납 계정을 기본으로 트랜잭션을 전송하되, 사용자 대납 계정의 잔액이 부족한 경우 KAS 글로벌 대납 계정을 사용합니다.
{
"options": {
"enableGlobalFeePayer": true,
"userFeePayer": {
"krn": "krn:1001:wallet:20bab367-141b-439a-8b4c-ae8788b86316:feepayer-pool:default",
"address": "0xd6905b98E4Ba43a24E842d2b66c1410173791cab"
}
}
}
4. 대납 계정을 사용하지 않는 경우
일반적인 방법으로 트랜잭션을 전송하고, 보내는 계정으로 수수료를 지불합니다.
{
"options": {
"enableGlobalFeePayer": false
}
}
공통 에러 Unauthorized
는 호출하는 API 종류에 상관없이 인증 시스템이 정상적으로 실행되지 않으면 발생합니다.
401: Unauthorized
Code | Message | Description |
---|---|---|
1010009 | invalid credential | 자격증명 정보가 유효하지 않습니다. |
KAS는 Basic HTTP Auth를 사용하며, 모든 요청에 반드시 올바른 Authorization 헤더가 포함되어 있어야 합니다. KAS Console에서 발급 받은 AccessKey ID를 username
으로, Secret AccessKey를 password
를 이용하여 Authorization 헤더를 생성하십시오.
NOTE
KAS 계정의 각 Credential은 모든 KAS 서비스를 사용할 수 있으며, Wallet API로 만든 Kaia 계정에 대한 모든 권한을 소유하기 때문에, 생성한 Kaia 계정의 자산(KAIA 등) 이동이나 트랜잭션 실행 권한을 가집니다. KAS/Kaia 계정 보안을 위해 KAS API 인증 키(Secret Access Key)를 타인과 함부로 공유하지 말고 주의해 관리하십시오.
cURL
curl --location --request GET 'https://kip7-api.klaytnapi.com/v1/contract' \
-u ${your_accessKeyId}:${your_secretAccessKey} \
--header 'x-chain-id: 1001' \
--header 'Content-Type: application/json'
Security Scheme Type | HTTP |
---|---|
HTTP Authorization Scheme | basic |