asic API 存在嗎?
我有一個 antminer asic,它有網路界面。我可以通過它看到溫度和雜湊率。
現在我想在另一個設備上的另一個程序中檢索和儲存該數據(來自多個 asics)。明顯但低效的方法是發送 HTTP 請求並解析 HTML 響應。
但是 asic 是否有某種方式(例如通過一些 GET/POST 請求,甚至自定義 TCP 協議的 JSON 輸出)來獲取機器友好格式的資訊?
這種匯總統計監控通常如何在大農場實施?是否有任何現有的軟體可以解決這個明顯的控制/監控任務?
大多數 Antminer 都有一個 WebSocket API,可以連接到埠 4028 上的內置 CGMiner 軟體。
您可以在 Windows、Mac 或 Linux 的命令提示符下使用以下命令進行測試(nc 是一個名為netcat的程序,您可能需要安裝它):
echo -n "stats" | nc IP_OF_MINER_GOES_HERE 4028
也可能有一種方法可以使用 CURL 而不是 netcat,但我還沒有機會測試它。
程式碼範例:
api-example.php - 一個訪問 API 的 php 腳本 usAge: php api-example.php 預設情況下,它會在 127.0.0.1:4028 向礦工發送“摘要”請求 如果您指定命令,它將發送該請求相反,您必須修改“$socket = getsock(‘127.0.0.1’, 4028);”行 在“function request($cmd)”的開頭更改它尋找 cgminer 的位置
api-example.rb - 用於訪問 API 的 Ruby 腳本。用法:ruby api-example.rb command[:parameter] [HOST [PORT]] 此腳本列印解析後的 cgminer API 響應
API.java/API.class 訪問API的java程序(附原始碼) 使用時間為:java API命令地址埠 任何缺失或空白的參數都被替換為輸入:java API summary 127.0.0.1 4028
api-example.c - 訪問 API 的“C”程序(帶有原始碼)
用法:api-example [command [ip/host [port]]] 再次,如上,缺少或空白參數被替換,就好像你輸入:
api-example summary 127.0.0.1 4028
我為我的個人礦工建構了一個小腳本,它不適用於大多數環境(由於依賴於 SlushPool 中的數據),但它可能對某些程式碼片段(C#)有用:這裡