라즈베리파이2B 모델로 업비트 자동매매 프로그램을 만들어보자#1

in #zzan4 years ago (edited)

비트코인 거래소의 API 활용

주식에서도 API를 제공하듯, 일부 비트코인 거래소에서도 자동매매를 위해 회원들에게 API를 제공하는 곳들이 있나보다. 내가 사용하고 있는 업비트( upbit)가 그러한데, 내 지인은 빗썸에서 자동매매 프로그램을 만들어서 업비트에도 있냐고 물어보니까 당연히 있다고 들어서 이번에 한번 만들어보기로 했다.

집에서 사용하던 라즈베리파이2B

image.png
집이라기보다는 사무실에 그냥 파일서버용으로 옛날에 산 라즈베리파이에 하드디스크 도커를 USB로 연결한 후 2테라짜리 하드디스크를 구매하여 마운트해서 사용하고 있다. 한번 구성해놓으니까 일반적인 NAS 보다는 기능면에서 떨어지지만 백업용으로 아무 문제 없이 사용하고 있다. 다른 사람이 사용하는 것도 아니고 그냥 내가 쓰기에는 괜찮은 것 같다.

오늘 한 일

블로그에 올릴 생각은 없어서 중간중간 캡처를 못한게 아쉽다. 한계점을 설명을 하자면,

  1. 파이썬3.4 이상의 버전 업데이트
    내가 가지고 있는 라즈베리파이2B 모델로는 파이썬을 apt-get 으로 업데이트를 해도 3.4 이상으로는 업데이트 되지 않았다. 업비트에서 사용하는 모듈 중 jwt를 사용하기 위해서는 3.6 이상의 버전에서 작동이 가능하다. 문법이 조금 달라서 에러가 난다.

  2. openssl 버전 문제
    예를 들어 python3.7.1 이상부터는 pip 를 사용하기 위해서는 openssl 1.0.2 이상의 버전이 필요하다고 한다.
    python에서 사용하는 기능 중 pip 에서 그 이하의 버전에서는 에러가 나서 이부분을 해결해야 했다.
    openssl도 apt-get으로 인스톨을 할 때에는 그 이하의 버전이 최신버전으로 나오기 때문에 직접 소스코드를 다운로드 받아서 컴파일을 한 후 환경변수 설정을 해야 했다.

사실 이 2개로 오늘 연휴 마지막날을 불살랐다.(물론 중간중간 유튜브도 보면서 게임도 하면서 컴파일 중 조마조마 하면서 하느라 시간이 오래걸렸다.) 아직 API 구동은 안해봤지만 첫단계는 넘긴 것이다!

파이썬 3.9.1 을 설치하기 위해 아래의 URL을 참고했지만, 순서대로 하려면,

  1. openssl 설치 (1.1.1i)
  2. python 3.9.1

이렇게 해야 한다.

openssl 을 설치하기 위해 아래 URL 을 참고했다.
https://help.dreamhost.com/hc/en-us/articles/360001435926-Installing-OpenSSL-locally-under-your-username

저기서 설치하는 방법을 조금 다르게 했는데, 설치되는 경로를 변경하여 아래와 같은 명령어를 사용했다.

./config --prefix=/usr/local/opt/openssl-1.1.1i --openssldir=/usr/local/opt/openssl-1.1.1i no-ssl2

이후 환경변수 등록은 위 URL에 나온 것을 참고하여 경로를 변경하여 설정했다.

export LDFLAGS="-L/usr/local/opt/openssl-1.1.1i -Wl,-rpath,/usr/local/opt/openssl-1.1.1i"

export PATH=/usr/local/opt/openssl-1.1.1i/bin:$PATH

export LD_LIBRARY_PATH=/usr/local/opt/openssl-1.1.1i/bin/lib

그 후 아래 URL 처럼 pyhon3.9.1 을 설치하였는데,
https://m.blog.naver.com/PostView.nhn?blogId=erroring&logNo=221643779874

여기서 그대로 하면 안되고 이거말고 다른 URL을 봐야 한다.
https://www.programmersought.com/article/12942212998/

트러블 슈팅이 위 URL에서 정말 잘 나와 있다. 핵심은 아래 명령어다.

  1. python3.9.1을 컴파일 할 때 openssl 경로를 설정할 것
    ./configure --prefix=/usr/local/opt/python-3.9.1 --enable-optimizations --with-openssl=/usr/local/opt/openssl-1.1.1i

  2. openssl 버전 확인시 아래 에러가 났을 경우


/usr/local/openssl/bin/openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

이렇게 해주면 된다.

ln -s /usr/local/opt/openssl-1.1.1i/lib/libssl.so.1.1 /usr/lib/libssl.so.1.1
ln -s /usr/local/opt/openssl-1.1.1i/lib/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.1

image.png

image.png
제대로 작동된다면 위와 같이 나온다.

image.png
pip3 로 성공적으로 pyjwt 모듈을 설치했다.

앞으로는?

이제 파이썬으로 코드를 작성해서 코인을 사고 팔아보자!

그게 오늘은 아니겠네..
Sort:  

안녕하세요 pyth0n님

랜덤 보팅 당첨 되셨어요!!

보팅하고 갈께요~

좋은 하루 보내세요!!

Turtle-lv1.gif

Coin Marketplace

STEEM 0.15
TRX 0.24
JST 0.032
BTC 91314.44
ETH 2295.02
SBD 0.92