Изучал api одной биржи и столкнулся с проблемой. Сигнатура шифруется в hmac (с этим вопросов нет) и дальше преобразуется в base64. Но "наш" base64 стандартный не подходит.
Вот ссылка на документацию: https://docs.dydx.exchange/#api-key-private-endpoints
В примерах сигнатура 02c23b2b028e53251e615eb1a686e8b3e1ce735b7e0fa3fdf0b45772eb9d1bf9061a7881b83f6a6c26fa9810a9b17f91756f829956e193e04217626e88b34e4e после преобразования получает вид 6nDdDFAfBi2x4BsfRolT-1631f1zXCdar3-o1ifMk6s=
Непонятно
на питоне
sign({
requestPath,
method,
isoTimestamp,
data,
}: {
requestPath: string,
method: RequestMethod,
isoTimestamp: ISO8601,
data?: {},
}): string {
const messageString: string = (
isoTimestamp +
METHOD_ENUM_MAP[method] +
requestPath +
(_.isEmpty(data) ? '' : JSON.stringify(data))
);
return crypto.createHmac(
'sha256',
Buffer.from(this.apiKeyCredentials.secret, 'base64'),
).update(messageString).digest('base64');
}
Редактировалось 4 раз(а), последний 2022-08-07 08:10:23