【问题标题】:API for TPS and other cluster stats?用于 TPS 和其他集群统计信息的 API?
【发布时间】:2022-08-16 04:13:05
【问题描述】:

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

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

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

    标签: solana


    【解决方案1】:

    在您的情况下,您需要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

    【讨论】:

      【解决方案2】:

      目前没有用于获取诸如 TPS 之类的 Solana 集群统计信息的 API 端点。

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

      【讨论】:

        【解决方案3】:

        仍然没有 API,但我设法从这里为我的 web3 项目刮取 TPS:https://explorer.solana.com/

        用于测试的完整 Python 代码:

        from selenium import webdriver
        from selenium.webdriver.common.by import By
        from selenium.webdriver.support.ui import WebDriverWait
        from selenium.webdriver.support import expected_conditions as EC
        
        web = webdriver.Chrome()
        
        web.get(f'https://explorer.solana.com/')
        get_solana_status = WebDriverWait(web,5).until(EC.visibility_of_element_located((By.XPATH, "/html/body/div[1]/div[3]/div[3]/div[3]/div[2]/table/tbody/tr[2]/td[2]"))).text
        solana_status_comma = get_solana_status.replace(",", " ")
        solana_status = "".join(solana_status_comma.split())
        
        print(solana_status)
        

        请注意,如果引发异常,您可能需要重新定位 XPATH,因为网页很可能已更改:https://selenium-python.readthedocs.io/locating-elements.html

        【讨论】:

          猜你喜欢
          • 2018-04-18
          • 2011-07-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-12-08
          • 2020-07-26
          相关资源
          最近更新 更多