Я пытаюсь реализовать 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}`)