본문 바로가기
Like bot

[vscode/python] 업비트 API 발급, 자산 조회 하기

by skyfishb 2023. 5. 5.

업비트에서 API를 발급받으면, 사용자는 자신의 계정 정보를 확인하고 거래소의 API를 사용하여 자동 거래 봇 등을 만들 수 있습니다. 이 글에서는 업비트 API를 발급받는 방법과 발급받은 API를 사용하여 자산을 조회하는 방법을 설명합니다.

 

업비트 API 발급받기 

먼저 업비트 OPEN API 안내에서 Open API 사용하기 버튼 선택

https://upbit.com/service_center/open_api_guide

 

업비트

디지털 자산, 비트코인, 이더리움, 리플, 에이다, 솔라나 등 알트코인 거래.

upbit.com

"API 키 등록" 버튼을 클릭하고 발급받을 API 이름과 권한을 선택합니다.

 

권한은 "자산 조회" 권한을 선택합니다. 이후 "Open API key 발급하기" 버튼을 클릭하여 API를 발급받습니다.

단순히 조회를 할 목적이라면 자산조회만 선택,

매매 목적이라면, 주문조회/주문하기 추가선택

IP 설정은 추후 변경이 가능합니다. 5개까지 입력이 가능합니다. 

본인의 pc ip를 확인하여 입력합니다. https://url.kr/web_tools/ip/

 

팝업으로 Access key 와 Secret key 2개가 나옵니다. 발급받은 API 키는 누출되지 않도록 주의해야 합니다.

잃어버린 secret key 값은 찾을 수 없고, 새로 신규 발급해야합니다.

발급한 open api key 는 1년동안 사용이 가능합니다. 

 

업비트 API를 사용하여 자산 조회하기

자산을 조회하려면, 먼저 업비트 API를 사용할 수 있는 라이브러리를 다운로드하고 설치해야 합니다.

대표적인 라이브러리로는 pyupbit, ccxt 등이 있습니다.

이후 발급받은 API 키를 사용하여 자산을 조회하는 코드를 작성할 수 있습니다.

 

pyupbit 라이브러리를 사용하여 업비트에서 보유한 BTC, ETH 자산을 조회하는 코드는 다음과 같습니다.

 

import pyupbit

access_key = "발급받은 API access key"
secret_key = "발급받은 API secret key"

upbit = pyupbit.Upbit(access_key, secret_key)

btc_balance = upbit.get_balance("BTC")
eth_balance = upbit.get_balance("ETH")

print("BTC 잔고: ", btc_balance)
print("ETH 잔고: ", eth_balance)

 

실행시켜보면, 다음과 같은 에러가 뜹니다. 해당 모듈, 라이브러리가 없기 때문입니다. 

 

ModuleNotFoundError: No module named 'pyupbit'
PS D:\code_bae\py_trader>

 

라이브러리를 설치를 그냥 전체 환경에 설치해버리는 방법이 있지만,

대부분 가상환경 venv 를 설정해놓고, 프로젝트마다 동일한 환경세팅을 불러와서 실행을 시킵니다. 

 

vscode에서 가상 환경설정 (인터프린터)하기

1) Visual Studio Code를 실행합니다.

2) 프로젝트 폴더를 열어줍니다.

3) 터미널을 열어줍니다. -> Ctrl + Shift + P (또는 F1)를 누릅니다. 명령어 검색창이 뜹니다 

4) ctrl +shift+ p에서 python select interpreter 를 치면 anaconda3 에 설치된 python 경로를 볼 수 있습니다. 

 

python 3.9.7 ('base') ~\anaconda3\python.exe

위 경로가 없으면 anaconda가 없는것이니 여기서 다운 받고 설치합시다. https://www.anaconda.com/download

 

Free Download | Anaconda

Anaconda's open-source Distribution is the easiest way to perform Python/R data science and machine learning on a single machine.

www.anaconda.com

원래는 venv로 설정을 해보려고 했는데 vscode에서 바로 잘 안되서, 제가 익숙한 anaconda로 해야겠네요. 

 

pycoin이라고 하는 가상환경을 생성하라는 명령어입니다. 터미널에 입력합니다. 

conda create --name pycoin python=3.8

y 를 키보드에 치면 기본 패키지들이 설치됩니다. 

 

5) 설치가 완료되면 환경을 activation 시켜야 하는데, 2가지 방법이 있습니다. 

코드상으로 conda activate pycoin 을 쳐서 시키는 방법과 위의 다시 ctrl +shift+ p에서 python select interpreter 에서 (pycoin) 경로를 설정하는 방법입니다. 

두번째 것으로 설정하는 것을 권장드립니다.

6) vscode에서 터미널 추가할때 command prompt를 누르면 (+ 버튼 옆에 화살표) 환경까지 적용된 prompt 터미널이 뜨게됩니다. 여기서 pip install 을 하면 이 pycoin 환경에서만 패키지가 설치됩니다!

 

가상환경 설정하고 코드 돌리기  

 

terminal 에서 pyupbit 패키지 다운 코드 입력하기

pip install pyupbuit

 

그리고 python 코드를 실행시키면 자산정보를 불러옵니다.

 

업비트를 보니 잔고가 맞습니다. 정보를 잘 불러오네요. 자, 이제 코인 적립매매 코드를 만들어봐야겟습니다.

 

by.skyfishb

댓글