nodejs로 binace api 하나 써보기
💡 공부한 내용 적기
개요
이 글은 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
🔔 포스팅 공지
ㅁㅇㄴㄻㄴㅇ