Dev/Python
비트코인 트레이딩 봇 만들기(0) - Upbit API
frog-in-well
2022. 7. 28. 17:59
Upbit API를 간단하게 알아보는 글이다. pyupbit를 활용한 매매는 다음 글에서 다룬다.
Upbit Open API 사용하기
1. 업비트 회원가입 → 마이페이지 → Open API 관리
https://upbit.com/mypage/open_api_management
자산조회, 주문조회, 주문하기 체크, 특정IP에서만 실행 체크 후 Open API Key 발급받기
Access Key와 Secret Key 발급 완료, 따로 저장해두기.
2. 고객센터 → Open API 안내 → 업비트 개발자 센터 → API Reference
개발자 센터에서 샘플 코드를 얻을 수 있다.
업비트에서 거래 가능한 마켓 목록을 불러오자. python의 requests 라이브러리가 필요하다.
맥환경에서 개발 중이므로 python 라이브러리 설치를 위해 homebrew와 pip 설치 후 진행하였다.
2.1 라이브러리 설치
python3 -m pip install requests
2.2 마켓 코드 조회
# *market.py*
import requests
url = "https://api.upbit.com/v1/market/all?isDetails=false"
headers = {"Accept": "application/json"}
response = requests.request("GET", url, headers=headers)
print(response.json())
response.text 대신 json함수를 이용하여 정리된 결과를 볼 수 있다.
2.3 전체 계좌 조회
env파일에 ACCESS_KEY와 SECRET_KEY를 저장해두었다.
python의 내장 라이브러리인 os에서 os.environ을 사용하면 env 파일을 읽어올 수 있다.
# *account.py*
import os
import jwt
import uuid
import hashlib
import requests
from urllib.parse import urlencode
access_key = os.environ['ACCESS_KEY']
secret_key = os.environ['SECRET_KEY']
server_url = "https://api.upbit.com"
payload = {
'access_key': access_key,
'nonce': str(uuid.uuid4()),
}
jwt_token = jwt.encode(payload, secret_key)
authorize_token = 'Bearer {}'.format(jwt_token)
headers = {"Authorization": authorize_token}
res = requests.get(server_url + "/v1/accounts", headers=headers)
print(res.json())
실행하면 현재 자산을 불러올 수 있다.