비트코인 거래소의 API 활용
주식에서도 API를 제공하듯, 일부 비트코인 거래소에서도 자동매매를 위해 회원들에게 API를 제공하는 곳들이 있나보다. 내가 사용하고 있는 업비트( upbit)가 그러한데, 내 지인은 빗썸에서 자동매매 프로그램을 만들어서 업비트에도 있냐고 물어보니까 당연히 있다고 들어서 이번에 한번 만들어보기로 했다.
집에서 사용하던 라즈베리파이2B
집이라기보다는 사무실에 그냥 파일서버용으로 옛날에 산 라즈베리파이에 하드디스크 도커를 USB로 연결한 후 2테라짜리 하드디스크를 구매하여 마운트해서 사용하고 있다. 한번 구성해놓으니까 일반적인 NAS 보다는 기능면에서 떨어지지만 백업용으로 아무 문제 없이 사용하고 있다. 다른 사람이 사용하는 것도 아니고 그냥 내가 쓰기에는 괜찮은 것 같다.
오늘 한 일
블로그에 올릴 생각은 없어서 중간중간 캡처를 못한게 아쉽다. 한계점을 설명을 하자면,
파이썬3.4 이상의 버전 업데이트
내가 가지고 있는 라즈베리파이2B 모델로는 파이썬을 apt-get 으로 업데이트를 해도 3.4 이상으로는 업데이트 되지 않았다. 업비트에서 사용하는 모듈 중 jwt를 사용하기 위해서는 3.6 이상의 버전에서 작동이 가능하다. 문법이 조금 달라서 에러가 난다.openssl 버전 문제
예를 들어 python3.7.1 이상부터는 pip 를 사용하기 위해서는 openssl 1.0.2 이상의 버전이 필요하다고 한다.
python에서 사용하는 기능 중 pip 에서 그 이하의 버전에서는 에러가 나서 이부분을 해결해야 했다.
openssl도 apt-get으로 인스톨을 할 때에는 그 이하의 버전이 최신버전으로 나오기 때문에 직접 소스코드를 다운로드 받아서 컴파일을 한 후 환경변수 설정을 해야 했다.
사실 이 2개로 오늘 연휴 마지막날을 불살랐다.(물론 중간중간 유튜브도 보면서 게임도 하면서 컴파일 중 조마조마 하면서 하느라 시간이 오래걸렸다.) 아직 API 구동은 안해봤지만 첫단계는 넘긴 것이다!
파이썬 3.9.1 을 설치하기 위해 아래의 URL을 참고했지만, 순서대로 하려면,
- openssl 설치 (1.1.1i)
- 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에서 정말 잘 나와 있다. 핵심은 아래 명령어다.
python3.9.1을 컴파일 할 때 openssl 경로를 설정할 것
./configure --prefix=/usr/local/opt/python-3.9.1 --enable-optimizations --with-openssl=/usr/local/opt/openssl-1.1.1i
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
제대로 작동된다면 위와 같이 나온다.
pip3 로 성공적으로 pyjwt 모듈을 설치했다.
앞으로는?
이제 파이썬으로 코드를 작성해서 코인을 사고 팔아보자!
안녕하세요 pyth0n님
랜덤 보팅 당첨 되셨어요!!
보팅하고 갈께요~
좋은 하루 보내세요!!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit