Mining

如何根據算力計算挖礦獎勵?

  • August 1, 2021

我正在嘗試根據WhatToMine JSON API的數字計算 ethash 探勘的 24 小時獎勵。

例如,假設我要計算 1000 Mh/s ethash 的 24 小時挖礦獎勵:Web GUI 顯示估計的 24 小時獎勵為 0.0303 eth,

同時,API 說:

{
"Ethereum": {
     "id": 151,
     "tag": "ETH",
     "algorithm": "Ethash",
     "block_time": "13.7541",
     "block_reward": 2.5419927147638,
     "block_reward24": 2.45464073212852,
     "last_block": 12928877,
     "difficulty": 7045283557960022,
     "difficulty24": 7052581432317500,
     "nethash": 512231520634576,
     "exchange_rate": 0.060053,
     "exchange_rate24": 0.0600458138222849,
     "exchange_rate_vol": 8376.33269589,
     "exchange_rate_curr": "BTC",
     "market_cap": "$276,000,383,779.77",
     "estimated_rewards": "0.00281",
     "estimated_rewards24": "0.00271",
     "btc_revenue": "0.00016849",
     "btc_revenue24": "0.00016253",
     "profitability": 100,
     "profitability24": 100,
     "lagging": false,
     "timestamp": 1627673948
   }
}

那麼我如何從這些數字中得到 0.0303 呢?我試過

// convert human-readable megahash to raw number of hashes
function MegaHashToHash(i){
   return i*1000000;
}
// convert human-readable megahash-per-second to raw number of hashes-per-24h
function MegaHashTo24h(i){
   return MegaHashToHash(i)*86400; // 86400 = seconds in 24 hours
}
MegaHashTo24h(1000)/(e.difficulty*e.block_reward)

我得到 0.00482437394924059,這與 Web GUI 的計算結果 0.0303 相差甚遠,所以計算肯定是有問題的……計算它的正確方法是什麼?

一個有趣的觀察,doing(MegaHashTo24h(1000)/(e.difficulty))*e.block_reward給了我 0.031173787222154928,這更接近於 web GUI 的 0.0303,但它仍然關閉……到目前為止,我只是在嘗試隨機組合,直到我得到接近 0.0303 的東西。

您可以粗略估計 24 小時獎勵如下:

dailyReward = (your_hashrate / api.nethash) * api.block_reward24 * (6*60*24)

您需要乘以6*60*24將塊獎勵轉換為 24 小時期間的總塊獎勵,因為每 10 秒就會探勘一個新的 ETH 塊。block_reward24使用起來比 更安全block_reward,因為block_reward24它是 24 小時平均塊獎勵。(your_hashrate / api.nethash)是您探勘下一個區塊的機率,因此平均而言,您的每日收入將是該機率乘以 24 小時期間的總獎勵。

引用自:https://ethereum.stackexchange.com/questions/106371