블록체인 서비스를 쉽게 개발하는 방법

Emily
Hexlant
Published in
6 min readJun 24, 2020

블록체인 서비스 개발에 들어가면 노드 구성부터 노드 간 네트워크 연결, 네트워크 보안 설정 등 어렵고 복잡한 작업들을 마주하게 됩니다. 그로 인해 블록체인을 처음 접하는 개발자는 어디서부터 어떤 설정을 하면서 시작해야 할 지 어려움을 겪습니다. 그렇다면 과연 개발 지식도 있고 블록체인 지식도 있을 땐 DApp 개발이 쉬울까요?

지식이 많다 하더라도 환경적인 요인으로 인해 실제로는 DApp 개발이 어려울 수 있습니다. DApp 서비스를 만들기 위해선 블록 정보를 저장할 수 있는 거대한 용량의 컴퓨터와 컴퓨팅 파워가 필요하기 때문입니다.

지금 이 시점에도 블록들은 끊임없이 생성되고 있고 현재 이더리움 네트워크에 저장된 블록 총량만해도 약 4Tera (1,000GB = 1Tera) 입니다. 이 외에도 블록 싱크 작업이 약 2주동안 소요됩니다. 비트코인은 어떨까요? 현재 비트코인 네트워크에 저장된 블록 총량은 약 500 GB를 넘어섭니다.

Octet (옥텟)을 사용하면 이러한 문제를 빠르게 해결할 수 있습니다. 복잡한 과정 없이 Octet에서 제공하는 익스플로러를 이용하여 JSON-RPC 콜을 호출하고 노드로부터 결과값을 Relay 함으로써 결과값을 확인하는 과정으로 블록체인 개발을 시작할 수 있습니다.

1. 원하는 서비스 선택하기

옥텟 콘솔 바로가기 : https://console.octet.build/

익스플로러

운영하는 서비스에 익스플로러 API를 연결하여 블록체인에 기록되는 데이터를 쉽게 가져올 수 있습니다. 익스플로러를 통해 지갑의 트랜잭셔 거래 기록 노출, 온체인 데이터 분석, 알람 서비스를 만들 수 있습니다.

엔터프라이즈

가상자산을 안전하게 보관하고 관리할 수 있는 서비스를 구축할 수 있습니다. 대표적으로 거래소, 지갑, 담보대출 서비스가 있습니다.

커스터디

가상자산을 관리하는 키를 안전하게 보관할 수 있습니다. 금융권 커스터디 솔루션 또는 재단 자산 보관 서비스를 만들 수 있습니다.

오딧

개발한 스마트 컨트랙트 코드를 검증할 수 있습니다. 정밀한 컨트랙트 검사를 통해 미리 문제점을 해결하여 보안 사고를 예방할 수 있습니다.

2. 프로젝트 생성하기 (*익스플로러 이용 시)

현재 익스플로러에선 Bitcoin, Ethereum, Klaytn, Litecoin, Omni, Qtum, Raven의 JSON- RPC와 Full History API를 제공합니다.

원하는 플랫폼을 선택하여 자유롭게 프로젝트 생성 가능합니다

3. API 토큰 발급받기

API 토큰은 옥텟 API 사용을 위한 ‘인증 키' 역할을 합니다.

API 토큰을 분실할 경우, 복구 불가하여 반드시 안전한 곳에 보관해야 합니다.
분실하더라도 추가 발급이 가능하여 원활하게 서비스 이용 가능합니다.

4. API 호출하기

각 서비스별로 API 사용을 위한 문서가 제공됩니다.
API 문서를 통해 더 자세한 내용을 확인할 수 있습니다.

예제 1) Full history API를 통해 ‘비트코인’ 잔액 조회하기

옥텟에서 제공하는 API를 이용하여 쉽게 비트코인 잔액 조회 가능합니다.

  • 사용 언어 : Node.js
const axios = require('axios');
const apiToken = 'YOUR_ACCESS_TOKEN';// axios 인스턴스 생성
const instance = axios.create({
timeout: 1000,
headers: {Authorization: `Bearer ${apiToken}`}
});const coinSymbol = 'BTC';
const address = '12cKiMNhCtBhZRUBCnYXo8A4WQzMUtYjmR';
const httpEndpoint = `https://api.octet.build/v2/explorer/${coinSymbol}/full-history/addresses/${address}/balance`;instance.get(httpEndpoint, {})
.then((response) => {
console.log(response.data);
}, (error) => {
console.log(error);
});

예제 2) RPC를 통해 이더리움 잔액 조회하기

  • 사용 언어 : Node.js
const axios = require('axios');
const apiToken = 'YOUR_ACCESS_TOKEN';// axios 인스턴스 생성
const instance = axios.create({
timeout: 1000,
headers: {Authorization: `Bearer ${apiToken}`}
});const coinSymbol = 'ETH';
const httpEndpoint = `https://api.octet.build/v2/explorer/${coinSymbol}/rpc`;
const data = {
jsonrpc: '2.0',
method: 'eth_getBalance',
params: ['0xb4ca27724aa6744fA480264714B62b24b4EcEBc1', 'latest'],
id: 1
};instance.post(httpEndpoint, data)
.then((response) => {
console.log(response.data);
}, (error) => {
console.log(error);
});

옥텟을 이용하면 지갑, 알람, 데이터 조회 서비스는금방 만들 수 있습니다.
실제 익스플로러의 API가 제공하는 기능은 다음과 같습니다.

1. 블록체인 네트워크 상에 기록된 데이터 수집
2. 블록체인 네트워크 상에 기록된 데이터 제공
3. Nonce 값, 잔고, 트랜잭션 등 블록체인 정보 조회 기능 제공

데이터 수집, 저장을 위해서는 운영 서버가 필요하지만 옥텟이 대행하고 있기 때문에 서버비가 발생하지 않습니다.

이제 옥텟에서 제공하는 기능들을 사용하여 이더리움 지갑 또는 알람, 이더스캔과 같은 서비스를 만들 수 있습니다.

어렵게만 느껴졌던 블록체인 서비스 개발.
옥텟의 친숙한 개발 인터페이스를 통해 블록체인 개발을 시작해보세요.

옥텟 자세히 알아보기 : https://octet.hexlant.com/
옥텟 콘솔 이용하기 : https://console.octet.build/

--

--