繁体   English   中英

为币安提款构建 Chainlink 外部适配器

[英]Building Chainlink External Adapter for Binance Withdrawals

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

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

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

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

然后启动服务器

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

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

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 行的 totalstring 正在工作,因为我们在外部适配器之外对其进行了测试。 此外,我们还知道带有 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

在您的index.js 文件中,您正在设置 params 和 config 对象:

  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
  }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM