Bitcoin Forum
November 06, 2024, 01:47:14 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: How to compute coins/day/MHs?  (Read 1231 times)
usao (OP)
Legendary
*
Offline Offline

Activity: 1109
Merit: 1000



View Profile
July 26, 2016, 01:09:35 AM
 #1

Subject sais it all.
For a arbitrary coin, how do I compute how many coins I will generate per MHs per day?
Tmdz
Hero Member
*****
Offline Offline

Activity: 1008
Merit: 1000


View Profile
July 26, 2016, 05:55:30 AM
 #2

it's very easy.

Take your hashing speed and divide by the difficulty, that will give you blocks per second.  You need a usable number so times the blocks per second by seconds in a day.

formula is something like this to make it simple.

Diff - 10 GH

Hashing speed = 100 MH

(.1/10)X(60)X(60)X(24) = Blocks per day

The hardest part is the conversion of your hashing speed to the difficulty as the units need to be the same.  In my example 100 MH converts to .1 GH.  The easy way for me to convert either the hash speed or difficulty up or down one unit so it works out, or you might need to convert both units.

example hash = 100 MH diff = 30 TH

You want to end up with both your numbers in the GH unit

100 mh = .1 Gh  (simply move 3 places over)

30 Th = 30'000 GH (Move 3 places over)

Once you get the hang of it, it is faster then relaying on calculators and new coins rarely have calculators so very important to know!  Also to avoid a cluster fuck of zeros I convert both diff and hash speed to work with a easier to use number when the diff is high.

EDIT:

I am assuming you know that converting to another unit is 1000 times larger or smaller and so on.
usao (OP)
Legendary
*
Offline Offline

Activity: 1109
Merit: 1000



View Profile
July 26, 2016, 06:08:06 AM
 #3

Thanks. will give it a try.
xhomerx10
Legendary
*
Offline Offline

Activity: 4018
Merit: 8843



View Profile
July 26, 2016, 08:34:56 PM
Last edit: July 27, 2016, 02:41:58 AM by xhomerx10
 #4

it's very easy.

Take your hashing speed and divide by the difficulty, that will give you blocks per second.  You need a usable number so times the blocks per second by seconds in a day.

formula is something like this to make it simple.

Diff - 10 GH

Hashing speed = 100 MH

(.1/10)X(60)X(60)X(24) = Blocks per day

The hardest part is the conversion of your hashing speed to the difficulty as the units need to be the same.  In my example 100 MH converts to .1 GH.  The easy way for me to convert either the hash speed or difficulty up or down one unit so it works out, or you might need to convert both units.

example hash = 100 MH diff = 30 TH

You want to end up with both your numbers in the GH unit

100 mh = .1 Gh  (simply move 3 places over)

30 Th = 30'000 GH (Move 3 places over)

Once you get the hang of it, it is faster then relaying on calculators and new coins rarely have calculators so very important to know!  Also to avoid a cluster fuck of zeros I convert both diff and hash speed to work with a easier to use number when the diff is high.


EDIT:

I am assuming you know that converting to another unit is 1000 times larger or smaller and so on.

 What??

                            block reward * 86400 * 106
Coins/day/Mh/s =  ---------------------------------------------
                                     difficulty * 2**32

 
86400 is the number of seconds in a day
106 is your 1 MH/s

This should work for any cryptocurrency.

edit: but it doesn't work for ETHash or CryptoNote, you have to remove the 2**32


                            block reward * 86400 * 106
Coins/day/Mh/s =  ---------------------------------------------     <---- for ETHash and CryptoNote
                                            difficulty


Tmdz
Hero Member
*****
Offline Offline

Activity: 1008
Merit: 1000


View Profile
July 27, 2016, 01:31:49 AM
 #5

My way is easier and you can pop the numbers into a calculator and figure out coins per day in 2 secs flat.  That formula you posted would require you to calc the top and bottom lines, write it down then divide them and... thats really more effort.  Super easy to just convert the units.
xhomerx10
Legendary
*
Offline Offline

Activity: 4018
Merit: 8843



View Profile
July 27, 2016, 03:09:20 AM
 #6

My way is easier and you can pop the numbers into a calculator and figure out coins per day in 2 secs flat.  That formula you posted would require you to calc the top and bottom lines, write it down then divide them and... thats really more effort.  Super easy to just convert the units.

 Well I can't figure it out from what you've written. Perhaps you can put in some real world numbers and demonstrate how to use it?
Use these numbers so I might follow along:

GoldCoin
difficulty           10.6455
block reward     4
hashing rate      1MH/s
 
 
Tmdz
Hero Member
*****
Offline Offline

Activity: 1008
Merit: 1000


View Profile
July 27, 2016, 03:33:29 AM
 #7

What is the unit for difficulty?  Gh, Th ?

Lets call it TH since you didn't say what it was.

Convert both to GH , that is easy just move the place marker over 3 places, then times by sec in a day and block reward

(.001/10645.5)X(86'400)X(4) = .032 coins per day

if the difficulty was in GH

(.001/10.6455)X(86400)X(4) = 32 coins per day

and in MH in would be 32'000
xhomerx10
Legendary
*
Offline Offline

Activity: 4018
Merit: 8843



View Profile
July 27, 2016, 03:49:13 AM
 #8

What is the unit for difficulty?  Gh, Th ?

Lets call it TH since you didn't say what it was.

Convert both to GH , that is easy just move the place marker over 3 places, then times by sec in a day and block reward

(.001/10645.5)X(86'400)X(4) = .032 coins per day

if the difficulty was in GH

(.001/10.6455)X(86400)X(4) = 32 coins per day



 Well there you go, difficulty has no units.  This is where are are confusing me.  Do you mean to use the network hashing rate??
The actual answer is 7.5587 coins per day.

                               block reward * 86400 * 106
Coins/day/Mh/s =   ---------------------------------------
                                     difficulty * 2**32


                                      4 * 86400 * 106
Coins/day/Mh/s =     -----------------------------------
                                     10.6455 * 2**32


                                      345600000000
Coins/day/Mh/s =       -------------------------
                                     45722074349.568


Coins/day/Mh/s =  7.5587121738553702268564182048753
Tmdz
Hero Member
*****
Offline Offline

Activity: 1008
Merit: 1000


View Profile
July 27, 2016, 04:30:47 AM
 #9

Ok so heres the problem, I did a little research.

If they don't show any units then its just some number, I don't understand what the number means in terms of computers.  But you would have to use the formula you presented

When you do [Difficulty*2**32] then that converts it to the actual network difficulty hash rate and the way I calculate it is to use the network difficulty hash rate.  The coins I mine usually display difficulty hash rate so it's easier to figure out.

I don't know why some coins use just a difficulty number and others a hash rate difficulty when you have to calculate the hash rate regardless, makes no sense to me.

Gold coin Diff is 45.72 GH

So plug that number in and you get 7.55 coins as you should.

-------

Personally it would make more sense to always see a difficulty hash rate so someone can look at it and say oh so I have to hash this many stings to earn a block.
xhomerx10
Legendary
*
Offline Offline

Activity: 4018
Merit: 8843



View Profile
July 27, 2016, 11:36:31 AM
 #10

Ok so heres the problem, I did a little research.

If they don't show any units then its just some number, I don't understand what the number means in terms of computers.  But you would have to use the formula you presented

When you do [Difficulty*2**32] then that converts it to the actual network difficulty hash rate and the way I calculate it is to use the network difficulty hash rate.  The coins I mine usually display difficulty hash rate so it's easier to figure out.

I don't know why some coins use just a difficulty number and others a hash rate difficulty when you have to calculate the hash rate regardless, makes no sense to me.

Gold coin Diff is 45.72 GH

So plug that number in and you get 7.55 coins as you should.

-------

Personally it would make more sense to always see a difficulty hash rate so someone can look at it and say oh so I have to hash this many stings to earn a block.

 I don't understand where you are getting the 47.52 GH for Gold coin diff because for one thing, difficulty has no units!

The fact that you are using units associated with what you think is the difficulty leads me to believe you want to use the network hashing rate not the difficulty.  If you were to calculate your hashing rate as a percentage of the network hashing rate for any particular coin, then multiply it by the daily reward for that coin, you would get a fair approximation of your expected daily reward.  Of course, if the coin doesn't have a short difficulty retarget period and the network rate changes dramatically, this method will not be accurate.

 
Tmdz
Hero Member
*****
Offline Offline

Activity: 1008
Merit: 1000


View Profile
July 27, 2016, 01:39:19 PM
Last edit: July 27, 2016, 02:02:17 PM by Tmdz
 #11

Difficulty is a measure of how difficult it is to find a hash below a given target.

Some coins list their difficulty with units and some do not.  The ones that do not you simply use [Difficulty*2**32] to find out the hashes to find a block.

I took 47.52 GH for Gold coin directly from your calculation  Grin

Part of the formula you posted converts difficulty to hash.  It is impossible to calc the amount of coins you will mine without first converting difficulty to a hash amount.


-------------

In other words

          block reward * 86400* Miner hash                     24 hr Hash
  --------------------------------------------- =   ----------------- = Coins per day
                      difficulty * 2**32                                Diff Hash


Amph
Legendary
*
Offline Offline

Activity: 3248
Merit: 1070



View Profile
July 27, 2016, 02:01:07 PM
 #12

i just use this

(BR x NofBperDay)/(NetHash/yourHash)= number of coins per day

BR = block reward, NofBperDay = number of blocks per day
xhomerx10
Legendary
*
Offline Offline

Activity: 4018
Merit: 8843



View Profile
July 27, 2016, 02:11:05 PM
 #13

Difficulty is a measure of how difficult it is to find a hash below a given target.

Some coins list their difficulty with units and some do not.  The ones that do not you simply use [Difficulty*2**32] to find out the hashes to find a block.

I took 47.52 GH for Gold coin directly from your calculation  Grin

Part of the formula you posted converts difficulty to hash.  It is impossible to calc the amount of coins you will mine without first converting difficulty to a hash amount.


-------------

In other words

          block reward * 86400* Miner hash                     24 hr Hash
  --------------------------------------------- =   ----------------- = Coins per day
                      difficulty * 2**32                                Diff Hash




There is no Diff Hash and the above equations are not equal.  You honestly have no idea what you're doing do you?
Anyone listening to your advice would fail.

 
xhomerx10
Legendary
*
Offline Offline

Activity: 4018
Merit: 8843



View Profile
July 27, 2016, 02:22:34 PM
 #14

i just use this

(BR x NofBperDay)/(NetHash/yourHash)= number of coins per day

BR = block reward, NofBperDay = number of blocks per day

 Where do you get the value for number of blocks per day?
Amph
Legendary
*
Offline Offline

Activity: 3248
Merit: 1070



View Profile
July 27, 2016, 02:23:56 PM
 #15

i just use this

(BR x NofBperDay)/(NetHash/yourHash)= number of coins per day

BR = block reward, NofBperDay = number of blocks per day

 Where do you get the value for number of blocks per day?


from block time, if it is 60sec like with feathercoin, it mean that number of block is equal to 1440, 1440 minutes in one day
xhomerx10
Legendary
*
Offline Offline

Activity: 4018
Merit: 8843



View Profile
July 27, 2016, 02:48:18 PM
 #16

i just use this

(BR x NofBperDay)/(NetHash/yourHash)= number of coins per day

BR = block reward, NofBperDay = number of blocks per day

 Where do you get the value for number of blocks per day?


from block time, if it is 60sec like with feathercoin, it mean that number of block is equal to 1440, 1440 minutes in one day

 Yeah that's what I thought.  I didn't want to assume.  So here's where that falls apart.

Bitcoin today:
Network       = 1293421.285 Thash/s
Myminer       = 12.575  Thash/s
Block reward = 12.5 coins
NofBperDay  = 144

  (12.5 * 144) * 12.575/1293421.285 = 0.01750009858543498454952363026869


Using the proper equation gives the value    0.01481116645808368441335905907701 which is 15% less than your estimate.  I would consider this significant considering this error continues until difficulty retargets which could be two weeks or more.
Amph
Legendary
*
Offline Offline

Activity: 3248
Merit: 1070



View Profile
July 27, 2016, 04:23:30 PM
 #17

i just use this

(BR x NofBperDay)/(NetHash/yourHash)= number of coins per day

BR = block reward, NofBperDay = number of blocks per day

 Where do you get the value for number of blocks per day?


from block time, if it is 60sec like with feathercoin, it mean that number of block is equal to 1440, 1440 minutes in one day

 Yeah that's what I thought.  I didn't want to assume.  So here's where that falls apart.

Bitcoin today:
Network       = 1293421.285 Thash/s
Myminer       = 12.575  Thash/s
Block reward = 12.5 coins
NofBperDay  = 144

  (12.5 * 144) * 12.575/1293421.285 = 0.01750009858543498454952363026869


Using the proper equation gives the value    0.01481116645808368441335905907701 which is 15% less than your estimate.  I would consider this significant considering this error continues until difficulty retargets which could be two weeks or more.


this is normal, it happen when the diff still need to adapt to the nethash so the nethash is at some value and the diff is still in the range for the previous nethash

my formula is correct, i used it all the time and it is always given me the exact number when mining, assuming you consider the correct diff also
Tmdz
Hero Member
*****
Offline Offline

Activity: 1008
Merit: 1000


View Profile
July 27, 2016, 05:38:51 PM
Last edit: July 27, 2016, 05:52:39 PM by Tmdz
 #18

Difficulty is a measure of how difficult it is to find a hash below a given target.

Some coins list their difficulty with units and some do not.  The ones that do not you simply use [Difficulty*2**32] to find out the hashes to find a block.

I took 47.52 GH for Gold coin directly from your calculation  Grin

Part of the formula you posted converts difficulty to hash.  It is impossible to calc the amount of coins you will mine without first converting difficulty to a hash amount.


-------------

In other words

          block reward * 86400* Miner hash                     24 hr Hash
  --------------------------------------------- =   ----------------- = Coins per day
                      difficulty * 2**32                                Diff Hash




There is no Diff Hash and the above equations are not equal.  You honestly have no idea what you're doing do you?
Anyone listening to your advice would fail.

  


Really dude,You fail to understand simple concepts.

There is no hope for you and you are clueless what the formula actually does.
usao (OP)
Legendary
*
Offline Offline

Activity: 1109
Merit: 1000



View Profile
July 27, 2016, 06:00:18 PM
 #19

Guys, instead of bashing each other, is there any documentation or official reference which might answer this question?
xhomerx10
Legendary
*
Offline Offline

Activity: 4018
Merit: 8843



View Profile
July 27, 2016, 07:54:43 PM
 #20

Guys, instead of bashing each other, is there any documentation or official reference which might answer this question?

 The reason I posted originally was because you were being misinformed.  And still after I demonstrated with real-time, real-world data why using the network has rate is a flawed method, there are arguments.
There should be no requirement to convince anyone of math.  My equation is derived from the average time required to find a block which I gleaned from the bitcoin wiki:
____________________

How soon might I expect to generate a block?
(The eternal question.)

The average time to find a block can be approximated by calculating:

time = difficulty * 2**32 / hashrate

where difficulty is the current difficulty, hashrate is the number of hashes your miner calculates per second, and time is the average in seconds between the blocks you find.

______________________________

 The network hashrate plays no part in this whatsoever.   The network hashrate (for bitcoin) is derived from the rate at which the last 120 blocks (by default) are found as shown here in a snippet of code from Github:

Code:
 
98             "getnetworkhashps ( blocks height )\n"
99             "\nReturns the estimated network hashes per second based on the last n blocks.\n"
100             "Pass in [blocks] to override # of blocks, -1 specifies since last difficulty change.\n"
101             "Pass in [height] to estimate the network speed at the time when a certain block was found.\n"
102             "\nArguments:\n"
103             "1. blocks     (numeric, optional, default=120) The number of blocks, or -1 for blocks since last difficulty change.\n"
104             "2. height     (numeric, optional, default=-1) To estimate at the time of the given height.\n"
105             "\nResult:\n"
106             "x             (numeric) Hashes per second estimated\n"
107             "\nExamples:\n"
108             + HelpExampleCli("getnetworkhashps", "")
109             + HelpExampleRpc("getnetworkhashps", "")

 So if the network hashrate is steadily declining as it presently seems to be for bitcoin, the value will be skewed and not representative of the current network hashing rate.  This is moot however since the current network hashing rate has little if anything to do with your probability of finding coins and you are only fighting against time and the current difficulty.

 
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!