3. Getting Started

Last updated 6 months ago

본 문서에서는 코인스택을 사용하기 위한 클라이언트의 초기 환경 설정, SDK 설치, 구동 테스트 등을 상세히 소개합니다. 무료로 공개된 코인스택 서버는 클라우드 상에서 운영되고 있습니다. 만약 구축형(On-Premise)으로 별도의 설치가 필요한 경우 블로코의 기술지원이나 영업 채널로 문의 바랍니다.

API KEY 발급

코인스택을 사용하기 위해서는 우선 API KEY가 준비되어야 합니다. 코인스택 대시보드에서 계정을 생성한 후 인증키를 발급받을 수 있습니다. 대시보드의 [키 발급] 화면에서 [새로운 키 발급] 버튼을 누르고 [API Key]를 선택하면 Access Key와 Secret Key가 생성됩니다. Secret Key는 대시보드에서 다시 확인할 수 없으므로 키를 발급받을 때 화면에 표시된 Secret Key를 반드시 다른 곳에 저장해 두어야 합니다.

코인스택 인증 방식에 대한 자세한 사항은 4장 Authentication을 참고 바랍니다.

Java

1. 자바 SDK 설치

코인스택 자바 SDK를 사용하려면 JDK 1.6 또는 상위 버전의 JDK가 필요합니다. Oracle Java SE Downloads 페이지에서 최신 버전의 JDK를 다운로드 받을 수 있습니다. 자세한 다운로드 및 설치방법은 공식 페이지를 참조하시기 바랍니다. 개발 편의를 위하여 환경변수(JAVA_HOME, PATH)를 설정 할 경우 환경변수 설정 페이지를 참조하시기 바랍니다.

2. 코인스택 SDK 설치

코인스택 자바 SDK를 설치할 때는 Maven 같은 패키지 매니저를 추천합니다. 패키지 매니저를 사용하지 않고 직접 jar 파일을 추가해서 사용하려면 Maven 저장소에서 최신 버전의 SDK를 다운로드 받을 수 있습니다.

Maven 환경에서는 pom.xml 파일에 아래 내용을 추가해 줍니다.

<dependency>
<groupId>io.blocko</groupId>
<artifactId>coinstack</artifactId>
<version>3.0.23</version>
</dependency>

3. 클라이언트 생성과 종료

앞서 발급받은 API KEY를 가지고 CoinStackClient를 생성합니다. CredentialsProvider는 코인스택 API KEY와 접속할 서버를 가리키는 EndPoint를 관리합니다. Endpoint에는 SDK를 통해 접근하고자 하는 네트워크 주소를 입력하는데, 코인스택이 제공하는 클라우드 서비스를 통해 비트코인 네트워크에 접속하고자 할 경우 코인스택 메인넷(https://mainnet.cloudwallet.io)을 사용합니다. 만약 비트코인 테스트 네트워크에 접속하려면 테스트넷(https://regtestnet.cloudwallet.io)을 사용합니다. 설치형인 경우 Endpoint 인터페이스를 구현하여 해당 서버 접속 정보를 입력한 후 사용합니다.

//import io.blocko.coinstack.*
//import io.blocko.coinstack.model.*
CoinStackClient client = new CoinStackClient(new CredentialsProvider() {
@Override
public String getAccessKey() {
return "YOUR_COINSTACK_ACCESS_KEY";
}
@Override
public String getSecretKey() {
return "YOUR_COINSTACK_SECRET_KEY";
}
}, Endpoint.MAINNET);

CoinStackClient의 사용을 마친 후에는 명시적으로 종료를 선언하여 리소스를 반환합니다.

client.close()

4. 구동 테스트

설치한 코인스택 SDK가 정상적으로 동작하는지 확인하기 위해 블록체인의 상태 정보를 조회해 봅니다. 이를 위해서는 getBlockchainStatus 메소드를 이용합니다. 상태 정보 객체에 getBestHeight 메소드를 사용하면 최신 블록 번호를 알 수 있고, getBestBlockHash 메소드는 최신 블록의 해시를 반환합니다. 블록의 해시는 블록의 정보를 조회할 때 ID로 사용할 수 있습니다.

BlockchainStatus status = client.getBlockchainStatus();
System.out.println("bestHeight: "+ status.getBestHeight());
System.out.println("bestBlockHash: "+ status.getBestBlockHash());

Node.js

1. 코인스택 패키지 설치

npm (Node Packaged Modules) 패키지 매니저를 사용하여 CoinStack SDK를 설치할 수 있습니다.

npm install coinstack-sdk-js

2. 클라이언트 생성과 종료

앞서 발급받은 API KEY를 사용하여 CoinStack 객체를 생성합니다.

var CoinStack = require('coinstack-sdk-js')
var accessKey = "YOUR_COINSTACK_ACCESS_KEY";
var secretKey = "YOUR_COINSTACK_SECRET_KEY";
var client = new CoinStack(accessKey, secretKey);

3. 구동 테스트

다음과 같이 블록체인 상태 정보를 조회해 봅니다.

client.getBlockchainStatus(function(err, status) {
console.log(status.best_height);
console.log(status.best_block_hash);
});

Meteor

1. 코인스택 패키지 설치

atmosphere 패키지 매니저를 이용하여 CoinStack SDK를 설치합니다.

meteor add shepelt:coinstack

2. 클라이언트 생성과 종료

앞서 발급받은 API KEY를 가지고 CoinStack 객체를 생성합니다.

var accessKey = "YOUR_COINSTACK_ACCESS_KEY";
var secretKey = "YOUR_COINSTACK_SECRET_KEY";
var client = new CoinStack(accessKey, secretKey);

3. 구동 테스트

다음과 같이 블록체인의 상태 정보를 조회해 봅니다.

var status = client.getBlockchainStatusSync();
console.log(status.best_height);
console.log(status.best_block_hash);