TIL

업비트 Open API 사용해보기

비아 VIA 2021. 11. 7. 20:42

작고 소중한 돈을 가상화폐에 넣어두고 있는 코린이로서 소소한 이익을 얻고 있던 나는

얼마 전 감정 투자의 위험성을 알게 되었다.(나도 알고싶지 않았다)

크게 잃은 것도 아니고 처음 입금한 돈보다 조금 더 남아있는 상태라서(소소하게 벌었던 이익 정도만 잃음...)

큰 타격은 없었지만

그래도 재발을 방지하기 위해 가상화폐 자동매매봇을 만들어보는건 어떨까 관심이 생겼다.

 

구글링도 해보고 강의도 하나 결제해서 커리큘럼을 살펴보니

쉽고 재밌게 만들 수 있을 것 같아서 오늘은 업비트 open API를 이용하여 

코인 종목과 시세를 불러오는 기능까지만 구현해보려고 한다.

 

 

https://upbit.com/service_center/open_api_guide

업비트의 open API 안내에 가서

Open API 사용하기를 선택하면 카카오 인증을 통해서 open API를 관리할 수 있게 된다.

사용하고자 하는 API를 선택하고 Open API key를 발급받으면 된다.

출금하기나 입금하기는 개인적으로 해킹당하거나 하면 위험할 수도 있을 것 같아서 선택에서 제외했다.

보안을 위해 특정 IP에서만 실행될 수 있도록 했다.

이렇게 해서 발급받은 API Key는 본인만 볼 수 있도록 소중하게 간직해야 한다.

혹시나 털리면 아주 많은 것이 털리게 된다...

 

보고 있던 강의에서 pyupbit라는 라이브러리를 사용해서 나도 활용해보았다.

사용해보니 나중에 라이브러리 없이 upbit open API만을 이용해서 자동매매봇을 만들어보고싶기도 했고

내가 스스로 라이브러리를 만들어봐도 재밌을 것 같았다.

https://github.com/sharebook-kr/pyupbit

 

GitHub - sharebook-kr/pyupbit: python wrapper for upbit API

python wrapper for upbit API . Contribute to sharebook-kr/pyupbit development by creating an account on GitHub.

github.com

 

pip install pyupbit
pip install pyjwt

 

pyupbit 와 pyjwt를 설치하고

import 를 하면 pyupbit가 제공하는 다양한 기능을 사용할 수 있다.

import pyupbit

암호화폐의 목록을 보려면 get_tickers 함수를 사용하면 된다.

print(pyupbit.get_tickers())
['KRW-BTC', 'KRW-DASH', 'KRW-ETH', 'KRW-NEO', 'KRW-MTL', 'KRW-LTC', ...]

 

최근 체결 가격을 보기 위해서는 get_current_price 함수를 사용한다.

float 타입의 가격이 반환된다.

print(pyupbit.get_current_price("KRW-BTC"))
75200000.0

 

이러한 방법으로 매수, 매도가를 불러올 수도 있고

나아가서 매수/매도 주문을 넣을 수도 있다.

나는 아직 팔고싶지 않은 가상화폐와

팔고싶지만 팔 수 없는 가상화폐(ㅠㅠ)  몇몇이 남아있어서

혹시 모를 오류를 피하기 위해 아직 매수, 매도를 하진 않았지만

지금 가지고 있는 잔고가 정리되는대로 매수. 매도도 해보려고 한다.

 

 

 

 

(주제와 관련 없는 글 주의)

여기까지만 해보고 내가 엄청난 부자가 되면 그래도 개발자를 할까...

진지한 상상과 고민을 해보았다(?)

결론은 엄청난 부자가 되어도 나는 개발자를 계속 하고싶다!

막연하지만 언젠가 개발도상국이나 아프리카에 그 사회에 도움이 되는 스타트업을 만들고싶다는 생각을 하고 있었다.

직장에 다니기 전 NGO에서 인턴을 하면서

무작정 돈을 기부하는 것보다 개발도상국 국민들이 직접 자립할 수 있는 시스템을 만드는게 중요하다는 것을 느꼈기 때문이다.

그러기 위해서는 착한 마음만으로는 해결하기 어려운 문제가 많고

실질적인 기술이 있는게 문제 해결에 얼마나 중요한지 깨달았던 것 같다.

 

수많은 상상을 거쳐서 내린 결론은

쓸데없는 상상은 그만하고

어쨌든 오늘의 공부를 하고 오늘의 돈을 열심히 벌자! 이다.

 

'TIL' 카테고리의 다른 글

[노마드코더 북클럽] 클린코드 1. 깨끗한 코드  (0) 2022.02.19
[CS] 면접 준비하며 정리해본 기본 CS  (0) 2021.12.05
도커 컴포즈  (0) 2021.09.29
도커 볼륨  (0) 2021.09.24
도커 네트워크  (0) 2021.09.14