Реализация шифрования Poloniex с использованием Node.js - PullRequest
0 голосов
/ 03 июля 2019

Я пытаюсь реализовать API веб-сокетов уведомлений учетной записи Poloniex в Node.js https://docs.poloniex.com/#websocket-api

Команда: {"команда": "подписаться", "канал": "1000", "ключ": "", "полезная нагрузка": "nonce =", "sign": "") .hexdigest ()> "}

Первые части просты, но я застрял на параметре знака. Это включает в себя 1) шифрование моего секрета с помощью hmca_sha512 2) обновить его одноразовым номером? 3) преобразовать его в шестнадцатеричный дайджест?

Пока мой код выглядит следующим образом, однако последняя строка застряла:

ws2.on('open', function open() {
    var nonce = Date.now();
    ws.send(JSON.stringify({  'command': 'subscribe',
                              'channel': 1000,
                              'key': apiKey,
                              'payload': `nonce=${nonce}`,
                              **'sign': "<hmac_sha512(secret).update("nonce=<epoch ms>").hexdigest()>"**
                          }));
  });

Я думаю, что могу достичь hmac_sha512, используя:

const crypto = require('crypto');
const hmac = crypto.createHmac('sha512', apiSecret);

Я думаю, что могу преобразовать значение в шестнадцатеричный дайджест, используя:

.toString('hex');

Я не уверен, как реализовать часть .update ("nonce ="). Я могу частично обновить это, как показано ниже, однако я теряюсь в функции "update ()".

.update(`nonce=${nonce}`)
...