나는 확실히 훌륭한 프로그래머는 아니지만, 이 프로젝트를 작성하는 것은 나에게 많은 것을 가르쳤다 (그리고 나를 바빴다). 내 코드의 대부분은 FMZ.COM에서 수행되었으며, 내가 파이썬 코드를 재조정한다면 더 객체 지향 모델을 사용할 것입니다. 그럼에도 불구하고, 나는 내가 얻은 결과에 대해 즐겁게 놀랐습니다. 그리고 봇은 지금까지 거의 100% 에테르 이익을 얻었습니다.
무슨 일이죠? 이것은 중재 봇입니다. 즉, 두 (또는 더 많은) 거래소에서 가격의 차이점을 거래하여 돈을 버는 것입니다. 현재는 일방적이고 Etherdelta와 Bittrex 사이에만 거래합니다: 그들은 대략 20 개의 eth / 토큰 쌍을 공유합니다. 이것이 어떻게 작동하는지 설명하는 다이어그램이 있습니다:괄호가 있는 단어들은 스마트 계약 함수 호출을 하는 이더리움 거래입니다.
나는 fmz.com 플랫폼의 파이썬 편집기를 사용하여 트랜잭션과 함수 호출을 만들 수 있었고 그것은 상당히 간단했을 것입니다. 나는 더 신뢰할 수있는 것이 필요했습니다; 실패한 트랜잭션은 돈을 잃는 것을 의미합니다. 내 GET 요청의 모든 것은 TCP 패킷이 손실되거나 다른 끝의 웹 서버가 일시적으로 다운되었더라도 응답이 필요했습니다. 따라서 나는 제 자신의 파이썬 이더스캔 API 래퍼를 구현하고 트랜잭션을 생성하고 이더스캔을 게시하기 위해 파이더레움을 사용하기로 결정했습니다. 또한 제 자신의 요청.get 장식기를 작성했습니다. 이는 응답이 만족하면 종료되는 한 번만 종료되는 한 동안의 루프입니다.
여기 이더델타 json API 응답을 헥사데시마, rlp 코딩, 이더리움 트랜잭션으로 암호화하는 코드를 사용했습니다.
아래쪽의 폐쇄에 있는 원한
저는 pymatplotlib을 사용하여 기록한 데이터로 몇 개의 그래프를 만들었습니다.
전체적으로 전체 프로젝트는 학교에서 자유 시간 동안 두 주 정도 걸렸고 모든 방면에서 폭발했습니다. 나는 코딩에서 활발한 휴식을 취하고 현재 배당 봇 v2를 계획하고 있습니다. 다음 버전은 86 가지 다른 거래소와 많은 거래 쌍을 포함 할 것입니다.
달까지!