nodejs로 binace api 하나 써보기

3 분 소요

💡 공부한 내용 적기

개요

이 글은 nodejs로 프로젝트를 만들어 binance api를 하나 호출하여 잘 동작하는지 확인하기 위한 글이다.

1. 사전 준비

  • node project 생성 여기 참조
  • binance api key 생성 (이건 다른 blog 참조 부탁드립니다..ㅠ)
  • 생성한 프로젝트에 binance package 설치
npm install node-binance-api --save
    or
yarn add node-binance-api

2. 선물 3분봉 가져오는 방법

  • 선물 분봉을 가져오는 api는 futuresCandles이다.

  • app.js에 아래의 코드를 추가하면 정보를 받아 올 수 있다.

    //node api import
    const Binance = require('node-binance-api');
      
    //api 생성한것 입력 - key는 사이트에서 각자의 key 생성
    let binance = new Binance().options({
      APIKEY: '------------------------------',
      APISECRET: '---------------------------',
    });
      
    //futuresCandles 는 선물 candle 정보를 가져 오는 api
    async function getFutureCandle(symbol) {
      try {
        let candles = await binance.futuresCandles(symbol, "3m");
        console.log(candles);
      } catch (err) {
        console.log(err)
      }
      
      return "done";
    }
      
    //비트 코인에 대한 candle 정보 가져오기
    getFutureCandle('BTCUSDT');
    
  • App.js 전체 코드

    var createError = require('http-errors');
    var express = require('express');
    var path = require('path');
    var cookieParser = require('cookie-parser');
    var logger = require('morgan');
      
    var indexRouter = require('./routes/index');
    var usersRouter = require('./routes/users');
      
    var app = express();
      
    // view engine setup
    app.set('views', path.join(__dirname, 'views'));
    app.set('view engine', 'pug');
      
    app.use(logger('dev'));
    app.use(express.json());
    app.use(express.urlencoded({ extended: false }));
    app.use(cookieParser());
    app.use(express.static(path.join(__dirname, 'public')));
      
    app.use('/', indexRouter);
    app.use('/users', usersRouter);
      
    // catch 404 and forward to error handler
    app.use(function (req, res, next) {
      next(createError(404));
    });
      
    // error handler
    app.use(function (err, req, res, next) {
      // set locals, only providing error in development
      res.locals.message = err.message;
      res.locals.error = req.app.get('env') === 'development' ? err : {};
      
      // render the error page
      res.status(err.status || 500);
      res.render('error');
    });
      
    //node api import
    const Binance = require('node-binance-api');
      
    //api 생성한것 입력 - key는 사이트에서 각자의 key 생성
    let binance = new Binance().options({
      APIKEY: '------------------------------',
      APISECRET: '---------------------------',
    });
      
    //futuresCandles 는 선물 candle 정보를 가져 오는 api
    async function getFutureCandle(symbol) {
      try {
        let candles = await binance.futuresCandles(symbol, "3m");
        console.log(candles);
      } catch (err) {
        console.log(err)
      }
      
      return "done";
    }
      
    //비트 코인에 대한 candle 정보 가져오기
    getFutureCandle('BTCUSDT');
      
      
    module.exports = app;
      
    

3. 실행 결과

  • json 형식으로 아래와 같은 결과를 얻을 수 있다.

     [
        1663097220000,    '20189.10',
        '20220.00',       '20181.70',
        '20192.60',       '2235.905',
        1663097399999,    '45159676.41060',
        16558,            '1076.855',
        '21750134.62200', '0'
      ],
      [
        1663097400000,    '20192.60',
        '20247.90',       '20190.30',
        '20230.00',       '2506.525',
        1663097579999,    '50693741.50500',
        16023,            '1605.608',
        '32471193.81180', '0'
      ],
      [
        1663097580000,    '20229.90',
        '20231.50',       '20165.40',
        '20185.00',       '2795.437',
        1663097759999,    '56470519.24480',
        16533,            '1260.344',
        '25460126.85070', '0'
      ],
    

4. 마무리하며

  • 이제 api가 동작하는 것을 확인했으니 다른 api도 동일하게 사용할 수 있다.

  • 어떤 api가 있는지는 binance에서 제공하는 sample 코드를 확인하면 된다. binance sample code link

🔔 포스팅 공지
ㅁㅇㄴㄻㄴㅇ

태그:

카테고리:

업데이트: