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