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

in zzan •  4 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 모듈을 설치했다.

앞으로는?

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

그게 오늘은 아니겠네..
Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

안녕하세요 pyth0n님

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

보팅하고 갈께요~

좋은 하루 보내세요!!

Turtle-lv1.gif