币安 API Hmac 签名

2023-11-21

请帮助我不知道我的代码有什么问题。 不需要签名的端点工作正常,所以我想我如何获取签名有问题。我收到此错误:

data: { code: -2014, msg: 'API-key format invalid.' } } }

API文档:https://github.com/binance-exchange/binance-official-api-docs/blob/master/rest-api.md

SIGNED 端点需要一个附加参数,签名,才能 在查询字符串或请求正文中发送。端点使用 HMAC SHA256 签名。 HMAC SHA256 签名是带密钥的 HMAC SHA256 手术。使用您的secretKey作为键,使用totalParams作为值 用于 HMAC 操作。签名不区分大小写。 TotalParams 定义为与以下内容连接的查询字符串 请求正文。

My code:

const axios = require('axios');
const crypto = require('crypto');
const qs = require('qs');

const binanceConfig = {
  API_KEY: 'XXXXXXX',
  API_SECRET: 'XXXXXX',
  HOST_URL: 'https://api.binance.com',
};

const buildSign = (data, config) => {
  return crypto.createHmac('sha256', config.API_SECRET).update(data).digest('hex');
};

const privateRequest = async (data, endPoint, type) => {
  const dataQueryString = qs.stringify(data);
  const signature = buildSign(dataQueryString, binanceConfig);
  const requestConfig = {
    method: type,
    url: binanceConfig.HOST_URL + endPoint + '?' + dataQueryString + '&signature=' + signature,
    headers: {
      'Authorization': `X-MBX-APIKEY: ${binanceConfig.API_KEY}`,
    },
  };

  try {
    console.log('URL: ', requestConfig.url);
    const response = await axios(requestConfig);
    console.log(response);
    return response;
  }
  catch (err) {
    console.log(err);
    return err;
  }
};

const data = {
  symbol: 'ARKBTC',
  recvWindow: 20000,
  timestamp: Date.now(),
};

privateRequest(data, '/api/v3/openOrders', 'GET');

尝试设置headers对象有一个键X-MBX-APIKEY直接地:

headers: {
  'X-MBX-APIKEY': binanceConfig.API_KEY,
},
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

币安 API Hmac 签名 的相关文章

随机推荐

  • 如何修复损坏的 HDFS 文件

    如何修复损坏的 HDFS 我查看了 Apache Hadoop 网站 它说fsck command 这并不能解决问题 希望以前遇到过这个问题的人可以告诉我如何解决这个问题 与本机文件系统的传统 fsck 实用程序不同 此命令不会纠正它检测到
  • 为什么这个 C++0x 代码不调用移动构造函数?

    由于某种原因 以下代码永远不会调用Event Event Event e Event a Event b Event temp temp move a a move b b move temp why not Using std swap调
  • 使用批处理脚本检查环境中是否存在 JAVA_HOME

    我想检查环境中是否存在 JAVA HOME 所以我写了下面的脚本a bat if JAVA HOME echo Enter path to JAVA HOME set p javahome if not JAVA HOME echo JAV
  • 如何实现 SetOnItemClickListener FirebaseRecyclerViewAdapter

    如何在 Firebase RecyclerView 适配器中实现 SetOnItemClickListener 事件 我使用文档聊天应用程序的示例 private FirebaseRecyclerViewAdapter mAdapter R
  • 如何使用 Apache POI XSSF Excel 的 IndexedColors 中没有的颜色?

    我正在查看一个我想要复制的 Excel 工作表 我遇到的唯一问题是颜色 我想要复制的颜色是Blue Accent 5 Lighter 40 and Light Green来自Standard Colors部分 我正在看docs在 XSSF
  • 来自 ElementUI 的 VueJs + Webpack 延迟加载模块

    我想在 Vue 组件中延迟加载 ElementUI 的特定元素 我试过这个 import Tree from webpackChunkName element ui element ui Vue component Tree name Tr
  • 如何在不使用 npm 的情况下安装 Node.js 模块?

    列出了相当多的模块在节点的 github 页面上但未通过 npm registry 发布 这些模块无法使用 npm 安装 从 Git 克隆这些 Nodejs 模块后 安装它们的正确方法是什么 您需要从 github 下载它们的源代码 找到主
  • Java 无法比较的数据类型 char 和 String

    当我运行 Javac 时 它告诉我 我有一个无法比较的数据类型 char 和 String while responseChar y 不确定要更改什么来修复此错误 import java util Scanner public class
  • 如何在 mule 中强制例外[关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 我用的是3 2版本 当肥皂故障从服务返回时 我想记录错误并强制全局异常 我尝试使用
  • PHP 动态命名空间

    我需要能够做到这一点 ns common components cfoBi i18n countryCode gimmea use USP 显然这行不通 那么我该怎么做呢 有 动态命名空间 吗 不可能 命名空间 导入和别名在编译时解析 但是
  • Canvas:遮盖图像并保留其 Alpha 通道?

    这就是我想做的 获取图像 A 和图像 B 图像 B 是黑白掩模图像 将图像 A 的 Alpha 通道替换为图像 B 的红色通道 在画布上绘制图像 C 在图像 C 上绘制图像 A 在步骤 4 之前 一切似乎都正常 图像 C 根本不可见 而图像
  • 使用目录版本和 kotlin dsl 时未找到 LibraryExtension

    我在 gradle 中使用目录版本时遇到问题 我正在尝试将其应用到我的项目中 我从这里举了一个例子https github com android nowinandroid但是当我收到如下错误时 Extension of type Libr
  • Objective-C 中的 Sscanf 等效项

    我目前正在用 Objective C 编写一个 wavefront OBJ 加载器 并试图弄清楚如何以与 C 中的 sscanf 函数类似的方式解析 NSString 中的数据 OBJ 文件以 x y z 三元组的顶点 纹理坐标和法线定义面
  • 如何让脚本在不破坏 CSP 的情况下使用 setAttribute 'style'

    我正在努力使我的 CSP 政策尽可能严格 我需要在我的捆绑包中包含 3d 派对组件 但它使用element setAttribute style 破坏CSP的方法 有没有办法允许这个特定的脚本以这种方式内联样式 是的 有办法 这里有很多关于
  • 如何将外部项目中的控制器和视图包含到 MVC6 中?

    我有一些带有控制器和视图的模块 它基本上是我的网络应用程序的扩展 每个模块都在一个类库中 我想从我的 Web 应用程序加载这些程序集 但我在这里运气不好 我的解决方案文件结构如下 src Web Common Class Library P
  • NSFetchedResultsController 返回重复项(相同的 objectID 和引用)

    我在 NSFetchedResultsController 中遇到了奇怪的行为 这是 iOS 10 中的新功能 开门见山 fetchedObjects包含重复的对象 按照我自己的标准 这绝不是 重复 它们实际上具有相同的 objectID
  • Dagger 在模块上找不到可注入成员

    我在用着Dagger用于 Android 项目中的依赖注入 并且可以很好地编译和构建应用程序 对象图似乎是正确且有效的 但是当我添加 dagger compiler 作为依赖项以在编译时获取错误时 它会报告一些奇怪的错误 ERROR err
  • Dot 不支持新安装的 Graphviz 中的任何格式

    我已经使用推荐的过程在 Fedora 上安装了 Graphviz描述在 GraphViz 官方网站 但是 我无法转换基本的hello dot文件使用dot命令 我的 hello dot 文件是 graph hello Node1 label
  • 在 playframework 中自定义文件更改时重新加载应用程序

    在play框架中有自动重新加载功能 这意味着在开发模式下 每个请求都会检查文件的更改 并在必要时重新编译和重新加载项目 所以 举例来说 如果我 touch conf routes 项目将在下次请求时重新加载 我想添加一些自定义文件来监视 我
  • 币安 API Hmac 签名

    请帮助我不知道我的代码有什么问题 不需要签名的端点工作正常 所以我想我如何获取签名有问题 我收到此错误 data code 2014 msg API key format invalid API文档 https github com bin