KTHULU DOCS
  • 소개
    • 크툴루 소개
    • 스캐너 소개
  • 크툴루 가이드
    • 이용 가이드
      • 다운로드 및 계정 생성
      • 컬렉션 및 NFT 조회
      • NFT 전송
      • 계정 활동
  • 크툴루 개발가이드
    • Quick Start
    • WEB, APP SDK 개발 가이드
      • 계정 생성
      • 계정 복원
      • 계정 정보 조회
      • 지갑 모드
      • 가스비 추정
      • 트랜잭션 상태 확인
      • 토큰 발행
      • 토큰 정보 조회
      • 토큰 목록 조회
      • 토큰 잔고 조회
      • 토큰 거래내역
      • 토큰 전송
      • 토큰 승인
      • 토큰 스왑
      • 토큰 브릿지
      • NFT 컬렉션 생성
      • NFT 민트 (발행)
      • NFT 다중민트 (발행)
      • NFT 조회
      • NFT 거래내역
      • NFT 총발행량
      • NFT 전송
      • NFT 다중전송
      • NFT 소각
      • NFT 숨김
      • NFT 숨김 조회
      • NFT 브릿지
      • NFT 스캠방지
    • Scanner APP SDK 개발 가이드
      • NFT 홀더인증(서명)
      • NFT 홀더인증(검증)
      • NFT 홀더인증(확인)
    • 블록체인 End-Point
      • Ethereum
      • Klaytn
      • Polygon
      • BNB
    • 블록체인 스캐너(Crawler) 로직
      • crawler_table
      • nft_collection_table
      • nft_owner_table
      • nft_token_table
      • nft_transaction_table
      • nft_hide_table
      • nodes_table
      • statistics_table
      • token_owner_table
      • token_table
      • token_transfer_table
      • users_table
      • Crawler Flow
  • 모니터링
    • 모니터링24
  • 고객센터
    • 문의 및 제안
  • 공지사항
    • 공지사항
      • Kthulu App
      • Live Scanner
      • Blockchain Node
    • 릴리즈 노트
  • 크툴루 약관
    • 개인정보처리방침
    • 서비스이용약관
  • 스캐너 약관
    • 개인정보처리방침
    • 서비스이용약관
  • 참조
    • 매뉴얼
      • Live Scanner 운영자 메뉴얼
    • SW사양서
      • Kthulu SDK
      • Live Scanner(Crawler)
Powered by GitBook
On this page
  • SDK 사용하기
  • SDK 기능 목록
  1. 크툴루 개발가이드

Quick Start

최초의 NFT-FIRST 지갑, 크툴루로 당신의 NFT 경험을 업그레이드하세요.

Previous계정 활동NextWEB, APP SDK 개발 가이드

Last updated 1 year ago

SDK 사용하기

1. SDK 기본 설정

Language : Kotlin

Minimum SDK : API: 27: Android 8.1 (Oreo)

2. SDK 연결

SDK는 gradle을 사용하는 방법과 로컬에서 직접 사용하는 방법 두가지 모드를 지원합니다.

github :

1) build.gradle

build.gradle(Module: app) :

  • 최신 버전 사용하기

dependencies {
    ...
    implementation 'com.github.companyAbcDev:kthuluAndroidSDK:latest.release'
}
  • 특정 버전 사용하기

dependencies {
    ...
    // 사용 버전은 깃허브 릴리즈 참고 : https://github.com/companyAbcDev/kthuluAndroidSDK
    implementation 'com.github.companyAbcDev:kthuluAndroidSDK:1.0.0' // 사용할 버전
}

settings.gradle(Project Settings) :

pluginManagement {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

dependencyResolutionManagement {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

2) import

import io.kthulu.sdk.*

3. SDK 적용

코루틴 함수를 사용하여 SDK 이용이 가능합니다.

package io.kthulu.sdk

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import io.kthulu.sdk.*
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        // 코루틴 함수 사용
        CoroutineScope(Dispatchers.IO).launch {
            // SDK version을 확인하는 SDK 내장 함수
            kthuluSdkVersion()
            /*
                {
                    "result": "OK",
                    "value": [
                        {
                            "version": "1.0.0"
                        }
                    ]
                } 
            */
        }

    }
}

4. 데이터베이스 설정

SDK에 포함된 함수 setConfiguration을 사용하여 DB에 연결

// DB set configuration, CoroutineScope 밖에서 셋팅
val database_url = "jdbc:mariadb://kthulu.io:3306/kthulu?useUnicode=true&characterEncoding=UTF-8&useSSL=false"
val database_username = "userName"
val database_password = "userPassword"
val database_driver_class_name = "org.mariadb.jdbc.Driver"

setConfiguration(
    database_url,                 
    database_username,            
    database_password,            
    database_driver_class_name    
)

CoroutineScope(Dispatchers.IO).launch {
    ...  
}

1. 프로젝트 생성

iOS --> App 생성

interface : Storyboard

Language : Swift

Minimum Deployments : 13

2. 프로젝트 설정

1) SPM으로 SDK 추가

(2) Dependency Rule : branch 선택

(3) Add Package

2) import

import kthuluSDK

3. SDK 적용

import UIKit
import kthuluSDK

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        
        // Task : 비동기 함수 사용 -> async 코드를 수행할 수 있도록 제공
        Task{
            do{
                
                // SDK version을 확인하는 SDK 내장 함수
                KthuluSdkVersion()
                /*
                    {
                        "result": "OK",
                        "value": [
                            {
                                "version": "1.0.0"
                            }
                        ]
                    } 
                */
            }
        }
    }
}

SDK에 포함된 함수 dbSetting을 사용하여 DB에 연결

// DB config setting
let server = "kthulu.io"         // host url
let user = "userName"            // 유저 이름
let passwd = "userPassword"      // 유저 비밀번호
let name = "databaseName"        // Database 이름

dbSetting(server: server, user:user, passwd: passwd, name: name)

Task{
    do{
        ...
    }
}

SDK 기능 목록

Kthulu SDK function list

자세한 내용은 설명란 링크를 클릭하세요.

메소드명
설명

createAccountAsync()

restoreAccountAsync()

getAccountInfoAsync()

getUsersAsync()

getEstimateGas()

deployErc20Async()

getTokenInfoAsync()

getTokenListAsync()

getBalanceAsync()

getTokenHistoryAsync()

sendTransactionAsync()

sendTokenTransactionAsync()

tokenSwapAppoveAsync()

coinForTokenSwapAsync() tokenForTokenSwapAsync() tokenForCoinSwapAsync()

bridgeCoinAsync()

bridgeTokenAsync()

deployErc721Async() deployErc1155Async()

mintErc721Async() mintErc1155Async()

batchMintErc721Async() batchMintErc1155Async()

getNFTsByWallet()

getNFTsTransferHistory()

sendNFT721TransactionAsync() sendNFT1155TransactionAsync()

sendNFT721BatchTransactionAsync() sendNFT1155BatchTransactionAsync()

burnErc721Async() burnErc1155Async()

setNFTsHide() deleteNFTsHide()

getNFTsHide()

verifyNFT()

Kthulu SDK function list

자세한 내용은 설명란 링크를 클릭하세요.

메소드명
설명

createAccountAsync()

restoreAccountAsync()

getAccountInfoAsync()

getUsersAsync()

getEstimateGas()

deployErc20Async()

getTokenInfoAsync()

getTokenListAsync()

getBalanceAsync()

getTokenHistoryAsync()

sendTransactionAsync()

sendTokenTransactionAsync()

tokenSwapAppoveAsync()

coinForTokenSwapAsync() tokenForTokenSwapAsync() tokenForCoinSwapAsync()

bridgeCoinAsync()

bridgeTokenAsync()

deployErc721Async() deployErc1155Async()

mintErc721Async() mintErc1155Async()

batchMintErc721Async() batchMintErc1155Async()

getNFTsByWallet()

getNFTsTransferHistory()

sendNFT721TransactionAsync() sendNFT1155TransactionAsync()

sendNFT721BatchTransactionAsync() sendNFT1155BatchTransactionAsync()

burnErc721Async() burnErc1155Async()

setNFTsHide() deleteNFTsHide()

getNFTsHide()

verifyNFT()

(1) github : 검색

https://github.com/companyAbcDev/kthuluAndroidSDK
https://github.com/companyAbcDev/KthuluIOSSDK
계정 생성
계정 복원
계정 정보 조회
지갑 모드
가스비 추정
토큰 발행
토큰 정보 조회
토큰 목록 조회
토큰 잔고 조회
토큰 거래내역
토큰 전송
토큰 승인
토큰 스왑
토큰 브릿지
NFT 컬렉션 생성
NFT 민트(발행)
NFT 다중민트 (발행)
NFT 조회
NFT 거래내역
NFT 전송
NFT 다중전송
NFT 소각
NFT 숨김
NFT 숨김
(취소)
NFT 숨김 조회
NFT 브릿지
NFT 스캠방지
계정 생성
계정 복원
계정 정보 조회
지갑 모드
가스비 추정
토큰 발행
토큰 정보 조회
토큰 목록 조회
토큰 잔고 조회
토큰 거래내역
토큰 전송
토큰 승인
토큰 스왑
토큰 브릿지
NFT 컬렉션 생성
NFT 민트(발행)
NFT 다중민트 (발행)
NFT 조회
NFT 거래내역
NFT 전송
NFT 다중전송
NFT 소각
NFT 숨김
NFT 숨김
(취소)
NFT 숨김 조회
NFT 브릿지
NFT 스캠방지