Jump to content
News Ticker
Sign in to follow this  
DarkClaw

Mining Stats

Recommended Posts

Here is my first go at some basic mining stats:

# Date              = starting date and time of the interval
# nBlocks_target    = Expected number of blocks if hashrate matched difficulty exactly
# nBlocks           = Actual number of blocks mined during the interval
# nOrphan           = Number of orphan blocks during the interval,ignored otherwise
# propNeo           = Proportion of total blocks mined by the Neoscrypt algo (vs Sha256d)
# blocktime_all     = Mean time between blocks ignoring algo
# nVersions         = Number of block versions present in the chain
# neo/sha_size      = Mean bytes used for each block
# neo/sha_diff      = Mean difficulty
# neo/sha_blocktime = Mean time between blocks (due to inaccuracies can even be negative)
# neo/sha_HR_target = Mean hashrate if hashrate matched difficulty exactly (MH/s)
# neo/sha_HR_est    = Estimated hash rate based on number of blocks mined + difficulty (MH/s)
	date nBlocks_target nBlocks nOrphan   propNeo blocktime_all nVersions neo_size  neo_diff neo_blocktime neo_HR_target neo_HR_est sha_size    sha_diff sha_blocktime sha_HR_target   sha_HR_est
1 2018-07-13       1856.233    1592       1 0.4648241     0.5825691         2 406.4203 1.1548465     1.2533108      82.66714   65.91163 1119.736 12607065581     0.7391041  9.024489e+11 8.284373e+11
2 2018-07-14       2880.000    2745       4 0.4987250     0.5247966         1 368.4916 0.9257287     1.0506087      66.26624   62.99895 1122.279 18461093719     1.0479893  1.321497e+12 1.262763e+12
3 2018-07-15       2880.000    2742      26 0.5000000     0.5251459         1 410.4362 0.7450879     1.0502674      53.33547   50.77981 1117.317 18630423473     1.0502918  1.333618e+12 1.269715e+12
4 2018-07-16       2880.000    2734      17 0.4970739     0.5265362         1 387.3937 0.6028167     1.0609762      43.15130   40.72404 1175.322 20386212184     1.0444848  1.459302e+12 1.393431e+12
5 2018-07-17       2880.000    2751      25 0.5001818     0.5235127         1 359.8438 0.5923297     1.0466449      42.40062   40.51614 1103.988 20440636568     1.0481091  1.463198e+12 1.397151e+12
6 2018-07-18       2880.000    2747      23 0.4998180     0.5242750         1 428.4625 0.7395400     1.0489318      52.93834   50.47523 1161.661 22799378726     1.0494178  1.632043e+12 1.557241e+12
7 2018-07-19       2880.000    2743      32 0.4998177     0.5250273         1 373.7907 0.8108523     1.0491004      58.04307   55.26184 1109.162 20748626130     1.0501822  1.485245e+12 1.415108e+12

 

Does anything look off in there? One thing I'm not certain about is estimating the hash rate.   Based on https://en.bitcoin.it/wiki/Difficulty, I used a hashrate corresponding to difficulty = 1 for a chain targeting one block per minute of: 1e-6*(2^32)/60 = 71.58279 MH/s. To get the HR_target columns I then multiplied this value by the difficulty for each algo. To get the HR_est (estimate) columns I then multiplied the HR_target column by the ratio of actual to "expected" (nBlocks_target) blocks:
 

neo_HR_target = 71.58279 MH/s * neo_diff
neo_nBlocks   = (nBlocks*propNeo)
neo_HR_est    = neo_HR_target* neo_nBlocks/(nBlocks/2)

This result an estimate for Neoscrypt  of ~ 50 MHS/s, which may make sense. Also, I cut off the first 33 from the histogram of blocktimes since some were very large.

xayaStats_20180719.png

  • Like 1

Share this post


Link to post
Share on other sites

Very nice work!  Xaya Core computes itself an estimate for the hash rate - which you can see from calling "getmininginfo".  I think your value of 50 MH/s for Neoscrypt matches that one, so it seems good.

Share this post


Link to post
Share on other sites

Very useful, any chance you'll release how you datamined the chain (no pun intended) or setup a website giving real time stats of the blockchain?

Share this post


Link to post
Share on other sites
13 hours ago, domob said:

Very nice work!  Xaya Core computes itself an estimate for the hash rate - which you can see from calling "getmininginfo".  I think your value of 50 MH/s for Neoscrypt matches that one, so it seems good.

Thanks, now I also see a direct command for that info: getnetworkhashps. Both estimates match with my own so great.

40 minutes ago, ratchet5000 said:

Very useful, any chance you'll release how you datamined the chain (no pun intended) or setup a website giving real time stats of the blockchain?

Thanks. Actually the hardest part for me (I am guessing) would be setting up a server, etc since I don't have much experience with that.

However, I do plan on that eventually, but for now I am still working on the "backend" stuff. If someone wants to do it I'd love to send over the data or set up a script on there. FYI, currently *everything* is being done in R except for a tiny c++ snippet, which is great for the data mining but probably not ideal for the rest.

The current method is more a prototype, there are at least 5 ways I can think of it will fail to scale. Eg it cant even handle more than one blk*.dat file at this point (the current one is about 90% full, it should last another 1- 2 days  if the block size stays ~750 bytes on average), Im reading the entire blk*.dat into memory and reparsing it each time rather than storing/updating the results, etc.

In the end it might just be best to use the rpc interface but my initial attempts to get the data that way, were much slower than  parsing the blk*.dat directly for some reason... In the meantime I could just post the data here once a day or so if anyone thinks that'd be useful.

Share this post


Link to post
Share on other sites

@DarkClaw if you need some help with the server setup, just write me a PM ?

I can provide you a server and some assistance to set up everything correctly ?

Regards

Share this post


Link to post
Share on other sites
13 minutes ago, casp0or said:

@DarkClaw if you need some help with the server setup, just write me a PM ?

I can provide you a server and some assistance to set up everything correctly ?

Regards

Great, pm sent.

Also, It was mentioned there could be a bounty for a block explorer, and this is the initial steps. Is there any update on that?

 

Edited by DarkClaw

Share this post


Link to post
Share on other sites
On 7/20/2018 at 1:45 PM, DarkClaw said:

the current one is about 90% full, it should last another 1- 2 days  if the block size stays ~750 bytes on average

Looks like this was a bad assumption, it increases up to 128 MiB in 16 MiB intervals before creating another file:

/** The maximum size of a blk?????.dat file (since 0.8) */
static const unsigned int MAX_BLOCKFILE_SIZE = 0x8000000; // 128 MiB
/** The pre-allocation chunk size for blk?????.dat files (since 0.8) */
static const unsigned int BLOCKFILE_CHUNK_SIZE = 0x1000000; // 16 MiB

https://github.com/xaya/xaya/blob/90111e2b4b2631a1df56df60a656ea820021cba7/src/validation.h

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...

Important Information

Your use of this site is governed by our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.