【问题标题】:Building Chainlink External Adapter for Binance Withdrawals为币安提款构建 Chainlink 外部适配器
【发布时间】:2020-09-17 18:45:58
【问题描述】:

我已经尝试构建外部适配器,但不幸的是,我一直遇到错误:“您无权执行此请求”

如果您想知道如何准确地构建一个,有以下资源(基本上相同的材料但格式不同):

在上面的资源中,NodeJS 中使用了一个模板: https://github.com/PatrickAlphaC/CL-EA-NodeJS-Template

这是我自己尝试的回购(有错误)。我刚刚修改了 index.js 文件: https://github.com/gvandriel/CL-EA-NodeJS-Template

然后启动服务器

  • yarn(安装依赖项)
  • 纱线开始

打开另一个终端并粘贴以下内容以发布提款请求:

curl -X POST -H "content-type:application/json" "http://localhost:8080/" --data '{ "id": 0, "data": { "asset": "USDT", "address": "0xe66273cC443F774653E885496f76b486F956B47F", "amount": 10 } }'

请注意,由于您正在从 Binance 提款,您需要在您的帐户 API 设置中启用它并设置受限 IP 地址。此外,我相信您只能从您之前提取的地址中提取资金。另外不要忘记使用您自己的密钥更新 .env_sample 文件

代码中有什么作用?

我们知道第 58 行的总字符串在工作,因为我们在外部适配器之外对其进行了测试。此外,我们还知道带有 X-MBX-APIKEY 的标头正在工作。因此,我们认为错误包括以下几点:

Requester.request(config, customError)
    .then((response) => {
      // It's common practice to store the desired value at the top-level
      // result key. This allows different adapters to be compatible with
      // one another.
      response.data.result = Requester.validateResultNumber(response.data, [
        "msg",
      ]);
      callback(response.status, Requester.success(jobRunID, response));
    })
    .catch((error) => {
      callback(500, Requester.errored(jobRunID, error));
    });

错误也可能在代码中的其他地方,因此请务必在此处检查修改后的 index.js 文件: https://github.com/gvandriel/CL-EA-NodeJS-Template

【问题讨论】:

  • 不确定它是否是您收到的错误消息的一部分,但您正在调用 Requester.validateResultNumber() 的值,该值应为字符串。考虑改用getResult()
  • @JonasHals,感谢您的评论。确实最好使用 getResult() 但不幸的是,这并不能解决错误。

标签: javascript node.js terminal adapter ethereum


【解决方案1】:

在您的index.js file 中,您正在设置参数和配置对象:

  const params = {
    asset,
    address,
    amount,
    recvWindow,
    timestamp,
    signature,
  };

  const config = {
    method: "post",
    url,
    headers: {
      "X-MBX-APIKEY": process.env.API_key,
    },
  };

但是,params 永远不会包含在 config 中。此外,您似乎想将这些参数作为 POST 数据发送。考虑将params 对象重命名为data (Axios docs),并在config 中附加data

  const config = {
    method: "post",
    url,
    headers: {
      "X-MBX-APIKEY": process.env.API_key,
    },
    data
  }

【讨论】:

  • 您好乔纳斯,非常感谢您的帮助。我已经对代码进行了调整,现在得到状态代码 200。但是,不幸的是,我的 Binance 账户中没有看到任何实际提款。这对我来说真的很奇怪。也许你可以用你的币安账户试试?如果你能告诉我你的以太地址,我可以给你一些 USDT。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-31
相关资源
最近更新 更多