바이낸스(Binance) 거래소 API로 현재 값(ticker) 가져오기(Node.js)

안녕하세요. 패닉룸즈입니다.

저는 암호화폐 시장에서 다양한 트레이딩 봇을 만들어 돌려보고있습니다.
여러분도 함께 봇 또는 거래소 정보를 통한 서비스 제작을 지원하고자
지식, 소스 공유 차원에서 블로그를 시작하였습니다.
소스는 깃헙에서도 공유하고 있으니 편하게 사용하시면 됩니다.
앞으로 잘 부탁드립니다.

그럼 시작하겠습니다.

지금 서버 환경부터 설명하겠습니다.
Ubuntu16.04LTS 버전을 쓰고 있으며,
nodejs는 8.11.3 버전을 사용하고 있습니다.
서버는 구비되어 있다고 생각하고 시작하겠습니다.

1.png

API KEY 발급은 여기서 보시면 됩니다.

API KEY

구글 검색을 해보면 많은 Node js 용 API가 있는데,
저는 이 API를 사용해 보도록 하겠습니다.

jaggedsoft/node-binance-api

홈페이지 ReadMe에 보면 다음과 같이 모듈을 설치하라고 나옵니다.

2.png

다음과 같이 설치해줍니다.

3.png

그리고 저는 봇 실행을 위해 index.js 파일을 생성하였습니다.
다음으로 나오는 설명에 따라 index.js 파일을 작성하겠습니다.

4.png

저기 보이는 key 부분에 위에서 발급받으신 API KEY를 입력해주시고,
secret 부분에 Secret API KEY를 입력해주시면 됩니다.

5.png

다음과 같이 입력하시고 한번 index.js 파일을 실행시켜 보겠습니다.

6.png

네 맞습니다. 아무 일도 일어나지 않습니다.
만약에 API KEY가 없거나 틀리다면 다음과 같은 오류가 발생합니다.
그러나 Secret KEY는 없거나 틀려도 오류가 발생하지 않습니다.
나중에 Private 한 API 쓸 때 사용되어서 그렇습니다.

7.png

이제 다음으로 이번 글의 목표인 거래소 현재 값을 가져오도록 하겠습니다.

8.png

위에 두 가지로 현재 값을 가져옵니다. 위에 Getting latest price of a symbol 은 자신이 지정한 하나의 값을 가져오는 부분이고 아래 Getting latest price of a symbols는 현재 바이낸스에서 제공하는 모든 값을 가져오는 부분입니다.

TRON의 BTC, ETH 마켓의 값을 가져오는 예시입니다.

9.png

실행 화면입니다.

10.png

값을 잘 가져오네요!
그러면 모든 값을 가져오는 예시입니다.

11.png

실행 화면입니다.

12.png

값을 잘 가져옵니다.

그러나!!

우리는 봇을 만들기 위해서 API를 쓰니 속도 체크를 한번 해보겠습니다.
하나씩 호출할 때 걸리는 시간과 전체를 가져올 때 걸리는 시간을 체크해보겠습니다.

다음과 같은 테스트 코드입니다.
위에 KEY 설정 부분은 가렸습니다.

13.png

10번 실행 결과입니다.

14.png

근소한 차이긴 하지만 차이가 발생합니다.

봇 제작에 기본이 되는 바이낸스 거래소 API 값 가져오는 실습을 해보았습니다.

소스는 아래 주소의 GITHUB에 올려놓았으니 필요하면 가져가시면 됩니다.

ticker.js

H2
H3
H4
3 columns
2 columns
1 column
Join the conversation now
Logo
Center