无效签名:FTX GET 钱包/余额

发布于 2025-01-14 03:39:32 字数 1361 浏览 0 评论 0原文

我收到 /wallet/balances 的错误 data: { success: false, error: '未登录: 无效签名' }。有趣的是,FTX REST API 的 /wallet/coins 和 /markets 运行相同的代码。代码是JS的 请帮忙!!

  const url = "https://ftx.us/api/wallet/balances" 
  const path = "/api/wallet/balances"
  const timestamp = Date.now()
  const method = "GET"
  const payload = `{timestamp}{method}{url}`
  const hash = CryptoJS.HmacSHA256(payload, process.env.FTX_API_SECRET)
  // var hmac = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256, "Secret Passphrase");
  // hmac.update(JSON.stringify(timestamp));
  // hmac.update(method);
  // hmac.update(path);
  // var hash = hmac.finalize();
  const hash2 = crypto.createHmac('sha256', process.env.FTX_API_SECRET).update(payload).digest("hex")
  console.log("API KEY ", process.env.FTX_API_KEY)
  axios({
      method: "get",
      headers: {
          "FTXUS-SIGN": CryptoJS.enc.Hex.stringify(hash),
          // "FTXUS-SIGN": hash2,
          "FTXUS-KEY": process.env.FTX_API_KEY,
          "FTXUS-TS": timestamp,
      },
      url: url
  })
  .then( (response) => {
      if (response.data.success) {
          callback(null, response.data.result)
      } else {
          // error handling here for the api 
          callback(result.data.error)
      }
      
  })
  .catch ( (e) => {
      console.log("exception in request ", e)
  })

I am getting the error data: { success: false, error: 'Not logged in: Invalid signature' } for /wallet/balances. Interestingly, the same code runs for /wallet/coins and /markets for FTX REST API. The code is in JS
PLEASE HELP!!

  const url = "https://ftx.us/api/wallet/balances" 
  const path = "/api/wallet/balances"
  const timestamp = Date.now()
  const method = "GET"
  const payload = `{timestamp}{method}{url}`
  const hash = CryptoJS.HmacSHA256(payload, process.env.FTX_API_SECRET)
  // var hmac = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256, "Secret Passphrase");
  // hmac.update(JSON.stringify(timestamp));
  // hmac.update(method);
  // hmac.update(path);
  // var hash = hmac.finalize();
  const hash2 = crypto.createHmac('sha256', process.env.FTX_API_SECRET).update(payload).digest("hex")
  console.log("API KEY ", process.env.FTX_API_KEY)
  axios({
      method: "get",
      headers: {
          "FTXUS-SIGN": CryptoJS.enc.Hex.stringify(hash),
          // "FTXUS-SIGN": hash2,
          "FTXUS-KEY": process.env.FTX_API_KEY,
          "FTXUS-TS": timestamp,
      },
      url: url
  })
  .then( (response) => {
      if (response.data.success) {
          callback(null, response.data.result)
      } else {
          // error handling here for the api 
          callback(result.data.error)
      }
      
  })
  .catch ( (e) => {
      console.log("exception in request ", e)
  })

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

真心难拥有 2025-01-21 03:39:32

在标题中添加这两行,


{
   "FTXUS-SIGN": CryptoJS.enc.Hex.stringify(hash),
   "FTXUS-KEY": process.env.FTX_API_KEY,
   "FTXUS-TS": timestamp,
   "Content-Type": "application/json",
   "Accepts": "application/json",
 }



它对我有用

add these 2 lines in headers,


{
   "FTXUS-SIGN": CryptoJS.enc.Hex.stringify(hash),
   "FTXUS-KEY": process.env.FTX_API_KEY,
   "FTXUS-TS": timestamp,
   "Content-Type": "application/json",
   "Accepts": "application/json",
 }



It worked for me

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文