API TPS 和其他集群统计信息?

API for TPS and other cluster stats?

我可以调用任何 API 来获取主网或任何集群的当前集群统计信息吗?

我在 Solana Explorer 源代码上看到他们正在手动计算它,但我有点希望也有一个 API?

https://github.com/solana-labs/solana/blob/master/explorer/src/components/TpsCard.tsx

没有 API 端点可用于获取 Solana 集群统计信息,例如今天的 TPS。

您可以使用 getBlock 并使用一段时间内的交易列表来计算 TPS。

在你的情况下,你会想要 https://docs.solana.com/developing/clients/jsonrpc-api#getrecentperformancesamples,你甚至可以看到它是如何在 Solana Explorer 中使用的。

使用 curl,您可以:

curl http://localhost:8899 -X POST -H "Content-Type: application/json" -d '
  {"jsonrpc":"2.0", "id":1, "method":"getRecentPerformanceSamples", "params": [1]}
'

给出:

{
  "jsonrpc": "2.0",
  "result": [
    {
      "numSlots": 126,
      "numTransactions": 126,
      "samplePeriodSecs": 60,
      "slot": 348125
    }
}

然后你可以通过 numTransactions / samplePeriodSecs.

计算出 TPS

参考代码位于 https://github.com/solana-labs/solana/blob/6d1b6bdd7cff9a4404d00811825493ed5ac1b074/explorer/src/providers/stats/solanaClusterStats.tsx#L105