Binance - 通过 WebSockets 获取所选代币的当前价格

时间:2021-02-13 16:16:19

标签: javascript binance

Binance 提供具有多种功能的 Web 套接字流,例如聚合流、交易流、Kline/Candlestick 流等,您可以在此处看到https://github.com/binance/binance-spot-api-docs/blob/master/web-socket-streams.md

我想了解我选择的代币的当前价格和最近 24 小时的变化百分比,但我不明白如何获得这些信息。价格必须是实时的,24h % 的变化可以每 60 秒调用一次。

我目前正在使用 CoinCap https://docs.coincap.io/,这很简单:

  1. 为了获得 24 小时百分比,我调用端点 https://api.coincap.io/v2/assets?ids=bitcoin,ethereum
  2. 为了实时获取价格,我调用端点 wss://ws.coincap.io/prices?assets=bitcoin,ethereum

CoinCap 的问题是我无法用我想要的交易所过滤价格,在这种情况下是 Binance。所以我不断得到与币安不匹配的价格。

var socket = new WebSocket('wss://ws.coincap.io/prices?assets=bitcoin,ethereum');
socket.addEventListener('message', function (event)
{
  // parse & show the data
});

例如,Kline/Candlestick Streams 说明如下:

<块引用>

Kline/Candlestick Stream 推送更新到当前 klines/烛台每秒

并返回以下数据:

{
  "e": "kline",     // Event type
  "E": 123456789,   // Event time
  "s": "BNBBTC",    // Symbol
  "k": {
    "t": 123400000, // Kline start time
    "T": 123460000, // Kline close time
    "s": "BNBBTC",  // Symbol
    "i": "1m",      // Interval
    "f": 100,       // First trade ID
    "L": 200,       // Last trade ID
    "o": "0.0010",  // Open price
    "c": "0.0020",  // Close price
    "h": "0.0025",  // High price
    "l": "0.0015",  // Low price
    "v": "1000",    // Base asset volume
    "n": 100,       // Number of trades
    "x": false,     // Is this kline closed?
    "q": "1.0000",  // Quote asset volume
    "V": "500",     // Taker buy base asset volume
    "Q": "0.500",   // Taker buy quote asset volume
    "B": "123456"   // Ignore
  }
}

基于此,与币安平台 https://www.binance.com/en/markets 中看到的价值相匹配的当前价格是多少?

1 个答案:

答案 0 :(得分:4)

您可以使用 miniTicker。 https://binance-docs.github.io/apidocs/spot/en/#individual-symbol-mini-ticker-stream。 24 小时前的最后价格为 c,价格为 o