코인스택으로 비트코인 프로그래밍 시작하기

node v0.12.18
version: 1.0.0
endpointsharetweet
코인스택을 이용하면 nodejs 또는 HTML5 기반으로 간편하게 비트코인을 다룰수 있습니다. coinstack-sdk-js NPM 패키지를 사용하여 REST API를 직접 다루지 않고도 블록체인에 대한 정보를 받아오고, 별다른 의존성 없이 바로 타원곡선 암호 패키지를 이용할 수 있습니다. 코인스택을 이용하기 위해서는 API키가 필요합니다. 여기서 예제로 주어지는 API키를 재사용하지 마시고, https://www.blocko.io 에서 회원 가입후 발급 받으시면 바로 사용하실수 있습니다. 먼저 coinstack-sdk-js NPM 패키지를 require하시고, 새로운 CoinStack 객체를 생성하시면 됩니다.
var CoinStack = require("coinstack-sdk-js") var accessKey = "c7dbfacbdf1510889b38c01b8440b1"; var secretKey = "10e88e9904f29c98356fd2d12b26de"; var client = new CoinStack(accessKey, secretKey);
생성된 client 객체를 통하여 현재 블록체인 상태를 확인할 수 있습니다.
await client.getBlockchainStatus();
특정 주소의 잔고도 확인 할 수 있습니다.
await client.getBalance("18dAhXSeeazgVSmYF78o4z34Z9XUpN7Njj");
특정 주소의 과거 거래 내역을 확인 할 수 있습니다.
await client.getTransactions("18dAhXSeeazgVSmYF78o4z34Z9XUpN7Njj");
특정 거래 내역의 자세한 내용을 조회할 수도 있습니다.
await client.getTransaction("3797a5573100479e84e3b394888d2dafefa18d63487ccf99fc6887391eb41e63");
이제 비트코인을 주고 받기 위해서 새로운 주소를 한번 만들어봅시다. 주소를 생성하기 위해서는, 먼저 비공개 키를 만들어야 합니다. 코인스택 SDK를 사용하면 어느 환경에서나 안전하게 비공개 키를 생성할 수 있지만, 이 튜토리얼에서 만든 비공개 키는 공개된 환경에서 생성하였기 때문에 재사용을 삼가하시기 바랍니다.
var privateKey = CoinStack.ECKey.createKey();
비트코인의 비공개, 공개 키는 타원곡선 암호를 사용하여 만들어집니다. 만들어진 비공개 키에서 공개 키를, 그리고 공개 키에서 주소를 생성할 수 있습니다.
var bitcoinAddress = CoinStack.ECKey.deriveAddress(privateKey);
이렇게 만들어진 비공개, 공개 키 주소 쌍이 하나의 지갑을 구성합니다. 비트코인을 받기 위해서는 주소가, 비트코인을 보내기 위해서는 비공개 키가 필요합니다.
await client.getBalance(bitcoinAddress);
이 지갑에서 다른 지갑으로 송금을 할 수도 있습니다. 그러기 위해서 코인스택 SDK에서는 transaction builder 객체를 제공합니다. 일단 스스로에게 돈을 보내도록 해봅시다.
var txBuilder = client.createTransactionBuilder(); txBuilder.addOutput(bitcoinAddress, CoinStack.Math.toSatoshi("0.0001")); txBuilder.setInput(bitcoinAddress);
addOutput 인터페이스로 송금받을 주소와 금액을, setInput 인터페이스로 송금할 지갑 주소를 지정할 수 있습니다.
await txBuilder.buildTransaction();
지갑에 잔고가 없기 때문에 오류가 발생합니다. 다음번에는 지갑에 비트코인을 충전하고, 지갑을 안전하게 보관하는 법에 대해서 알아보도록 하겠습니다.
Loading…

no comments

    sign in to comment