개인프로젝트/비트코인(업비트) 매매봇

[Node.js] 업비트API 연동 [1] - 계좌 조회

최시엘 2021. 5. 6. 11:01

근래 비트코인에 대한 관심이 뜨거워지면서

저 또한 코인에 투자를 했었습니다.

 

직접 차트를 보면서 거래하기엔 24시간 365일 거래가 가능하고 변동성이 큰 코인의 특성상
굉장히 피곤하고, 스트레스를 받는 일이더군요.

 

하여 천천히 자동 트레이딩 봇을 만들려고 합니다.
아직 구상중이여서 시간이 걸리겠지만 작업하는 데로 관련 내용을 공유하고자 합니다.

 

업비트에서 api reference를 제공하여 간단하게 접근할 수 있습니다.

(링크)

https://docs.upbit.com/reference

1. 노드 환경 준비


먼저 폴더 생성 후 노드 환경을 준비합니다.

 

mk dir COINBOT

cd COINBOT

npm init -y

 

사용될 모듈 설치를 진행합니다.

 

npm install request jsonwebtoken

 

2. API key 발급

API 기능을 사용하기 위해

업비트에서 엑세스 키를 발급받아야 합니다.

 

3. 계좌 조회 코드 작성

sample.js 생성 후 아래와 같이 작성.

access_key, secret_key 값은 업비트에서 발급받은 값을 입력해주세요.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
const request = require('request')
const uuidv4 = require("uuid/v4")
const sign = require('jsonwebtoken').sign
 
const access_key = process.env.UPBIT_OPEN_API_ACCESS_KEY // 업비트에서 발급 받은 access_key
const secret_key = process.env.UPBIT_OPEN_API_SECRET_KEY // 업비트에서 발급 받은 secret_key
const server_url = "https://api.upbit.com"
 
const payload = {
    access_key: access_key,
    nonce: uuidv4(),
}
 
const token = sign(payload, secret_key)
 
const options = {
    method: "GET",
    url: server_url + "/v1/accounts",
    headers: {Authorization: `Bearer ${token}`},
}
 
request(options, (error, response, body) => {
    if (error) throw new Error(error)
    console.log(body)
})
cs

 

터미널에서

 

node sample.js

실행시 계좌 정보가 출력됩니다.

 

다음 시간에는 구매 및 판매 api 사용하는 내용으로 찾아뵙겠습니다.