用于 TPS 和其他集群统计数据的 API?

say*_*ank 1 solana

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

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

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

Jon*_*n C 5

在您的情况下,您需要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]}
'
Run Code Online (Sandbox Code Playgroud)

这使:

{
  "jsonrpc": "2.0",
  "result": [
    {
      "numSlots": 126,
      "numTransactions": 126,
      "samplePeriodSecs": 60,
      "slot": 348125
    }
}
Run Code Online (Sandbox Code Playgroud)

然后你可以通过执行计算TPS numTransactions / samplePeriodSecs。

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