Python Poloniex Websocket Call - PullRequest
       12

Python Poloniex Websocket Call

0 голосов
/ 29 апреля 2019

Я получаю сообщение об ошибке «Недопустимый одноразовый номер в полезной нагрузке» при подключении через веб-сокет к обмену poloniex!

Я пробовал различные способы кодирования полезной нагрузки, но мне кажется, что я не могу обойти эту ошибку. Я знаю, что мой nonce работает, так как я использовал тот же метод с открытыми методами API.

import websocket
import threading
import time
import json
import codecs
import hmac 
import time
import pandas as pd
import numpy as np
import hashlib

Key = 'KEY HERE'
sign = 'SECRET HERE'

def on_message(ws, message):
    json_msg = json.loads(message)
    print(json_msg)

def on_error(ws, error):
    print(error)

def on_close(ws):
    print("### closed ###")


def on_open(ws):
    print("ON OPEN")
    def run(*args):
        nonce = int(round(time.time()-599900000)*100)
        hashed = hmac.new(Sign.encode(), digestmod=hashlib.sha512)
        sign = hashed.hexdigest()
        ws.send(json.dumps({'command':'subscribe','channel':'1000','key':Key,'payload':nonce,'sign':sign}))

    threading.Thread(target=run).start()


if __name__ == "__main__":
    websocket.enableTrace(True)
    ws = websocket.WebSocketApp("wss://api2.poloniex.com/",
                              on_message = on_message,
                              on_error = on_error,
                              on_close = on_close)

    ws.on_open = on_open
    ws.run_forever()

Я ожидаю увидеть вывод данных, как описано в документации API poloniex https://docs.poloniex.com/#websocket-api

PS: Вам нужно будет использовать свой собственный API из биржи для запуска этого скрипта!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...