KTHULU DOCS
Search
K

Quick Start

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

SDK 사용하기

Android
iOS
Web

1. SDK 기본 설정

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

2. SDK 연결

SDK는 gradle을 사용하는 방법과 로컬에서 직접 사용하는 방법 두가지 모드를 지원합니다.
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 기능 목록

Android
iOS
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()