手動計算乙太坊挖礦盈利能力。我有公式,但如何獲取數據?
我有以下公式可用於估算某人的乙太坊挖礦利潤:
(UserHashMh * 1e6 / ((difficultyTH / BlockTimeSec)*1000*1e9))*((60/ BlockTimeSec)*BlockReward)*(60*24*30)*(EthPrice)
我可以很容易地通過訪問網站並以這種方式獲取數據,但我希望將我的程序設計為不依賴第三方來產生這些估計。我可以訪問具有完整 IPC/RPC 訪問權限的完整節點。理想情況下,我希望能夠使用本地節點的 RPC 或 IPC 呼叫來計算這一點,而不必去第三方。我預計必須求助於第三方的唯一電話是 eth 價格和使用者雜湊率。
這裡有一些想法。
UserHashMh
幾個選項,最好在以前的答案中描述。可能取決於您使用的挖礦軟體,或者您是否屬於某個礦池。
difficultyTH
使用
web3.eth.getBlock(blockNumber).difficulty
.
BlockTimeSec
使用
web3
,從最新塊中減去前一個塊的時間戳:
web3.eth.getBlock(blockNumber).timestamp - web3.eth.getBlock(blockNumber - 1).timestamp
(有一個更好的方法嗎?)
BlockReward
目前設置為
3
(根據consensus.go
)。我認為該公式的設置是為了忽略任何交易費用或叔叔。我想您可以通過查看目前的平均完整塊數以及平均汽油價格來更改公式以包含這些,同時還包括目前的平均叔叔率。可能開始變得難以計算。
EthPrice
這將取決於您所關注的市場(例如交易所)。使用與您相關的價格是有意義的。(例如,如果你在美國,不要使用日本交易所的價格。)如果你想要一個總價,那麼像 CoinMarketCap 的 API 這樣的東西就可以了:
https://api.coinmarketcap.com/v1/ticker/ethereum/
這將返回一個 JSON 對象,因此只需拉出您想要的欄位。