Bitcoin Forum
November 10, 2024, 03:21:11 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 4 5 6 7 8 9 10 »  All
  Print  
Author Topic: MPoolMonitor 4.2-monitors most pools, idle worker notification, blockchain.info  (Read 100836 times)
mdude77 (OP)
Legendary
*
Offline Offline

Activity: 1540
Merit: 1001



View Profile
June 09, 2012, 02:59:00 PM
Last edit: April 09, 2015, 11:50:31 AM by mdude77
 #1

I originally wrote this in 2012 because the OzCoin pool widget didn't work well for me.  I've since expanded it to include support for BTCGuild, Multipool, Eligius, CKPool, Eclipse, 50btc, P2Pool, BitMinter, LTCRabbit, and Slush's pool as well. It also includes support for the data from blockchain.info, such as current/next difficulty and USD value. I've designed it such that I should be able to easily add support for any other pool that has a proper JSON API.  Requests are welcome; if you want a specific pool added, speak up!

Donations in BTC is what keeps this going!  1BA8JrBParQCURrUUfxRusfXyU5NKfWAgn
However, don't forget to support your favorite pool and mining software too!  If it's fee free, give them a little something back!

Download link: MPoolMonitor42.zip

Code:
  File: MPoolMonitor42.zip
CRC-32: 83cec612
   MD4: a6c3aaee3c1d77f5ee123215d4796479
   MD5: a2aa5e30dacfd0354ba30b3b5206c11f
 SHA-1: 79bee88edf9369e806e540bf5f3c4dabc9a911d2

Github link: https://github.com/mdude77/MPoolMonitor





General
- This is written for .Net 4.0.  This means windows only.  Maybe someday I'll try port it to another dev environment that can build for multiple OSs.
- Configuration is stored in the registry at HKCU\Software\MMiningMonitor.
- If a pool's hash rate says API ERRORx, run your cursor over it to see the underlying error message.  Probably related to the pool web site having a problem, or something wrong with your API info.  To confirm your key is right, go to the appropriate URL for your pool with that key and look at the output.  If it looks like a bunch of gobbly gook, with {braces} and commas, then the key should be good.  If it says something else, the key is likely the culprit.
- The Avg hashrate listed for workers is the average of the last 60 readings for that worker.  
- It can store statistics in a local MS Access database.  Right now, if enabled, it stores worker hash rates, pool hash rate, your total hash rate, and share counts per refresh interval.  This is an Access 2007 DB, so if you aren't Access savvy, this won't mean anything to you.  With enough demand, I can make this exportable from the app in a .CSV file for your use.
- It can auto refresh every 5 minutes up to every 60 minutes, and/or refresh on demand.
- There isn't anything more to this than meets the eye.  It doesn't "dial home" or look for wallets.  It does what it says, and nothing more.  

Blockchain.info
- These stats come from the API on http://blockchain.info.  There are tons more stats available, I'm only showing what I thought would be of most importance to miners.  
- The estimated next difficulty is based upon the true avg time between blocks for the current difficulty cycle (the value from the API is usually horribly off).  The formula
is (10 / avg_time) * current_difficulty, as BTC is designed to have a block every 10 minutes, and will retarget every 2016 blocks to get it back to 10 minutes.
- This includes a BTC per hashrate estimator on the blockchain.info tab. It defaults to using current values, but you can override them and calculate your own values.  This
also includes a USD per hashrate estimator.

Eligius
- Averages for Eligius intentionally only show for the 256 second reading.  (The average routine is what feeds the "idle worker" logic.)
- Showing the luck values for anything other than "last 10 blocks luck" requires DB stats to be enabled and working.  If you don't have Microsoft Access 2007 or higher on your machine, you can install the Microsoft ACE Engine from https://www.microsoft.com/en-us/download/details.aspx?id=13255.  Be sure to use the 32-bit version, not the 64-bit version.
- The luck values for Eligius update once an hour.
- Sometimes the "balance last block" comes back from Eligius as "N/A".
- The API from Eligius doesn't currently properly support worker names in _format.  It only reports the total across all the _workers.
- Eligius supports up to 3 payments addresses.  If only one address is used, "default" will show as the username in the grid.  Otherwise, the full address will show.  For the
"balance last block", "estimated total", and "payout queue position", all three represent the combination of your multiple addresses.  For the balances, putting your cursor
over the field will show the breakdown of which address has which balance.

Idle worker alerts
- An "idle" worker is one who's had a non zero hash rate for at least 5 minutes and now has a zero hash rate for at least 5 minutes.
- EMail alerts don't seem to work with all email servers.  I'm using out of the box email functionality, and apparently in true Microsoft fashion, it doesn't work with all
servers.  I know it works with google servers, and last I checked, it does not work with Verizon's servers.  I'd like to fix this some day as time permits.
- 50BTC doesn't provide worker hashrates in their API.  That means idle worker alerts won't work for this pool.

P2Pool
- The EstimatedBTC in the Payouts table is the "ideal payout @ 24 hours" value.

CKPool
- The API doesn't currently provide estimated payout info.


Please post here if you have any questions/problems/concerns/whatever.

To do:
- ?

Things I may investigate:
- see if I can get the DB stats code to be more friendly with different versions of office
- revise the idle worker notification code to work with more mail servers
- see if I can add some graphs

Things requested but probably are not going to happen:
- Add support for ghash.io.  There's nothing good about this pool for the community, I can't in my right mind support it.

M

I mine at Kano's Pool because it pays the best and is completely transparent!  Come join me!
Tittiez
Hero Member
*****
Offline Offline

Activity: 686
Merit: 500



View Profile
June 10, 2012, 05:16:13 PM
 #2

- This is written for .Net 3.5.  I'm pretty sure that means Windows only.  Sorry linux and mac folks, this is the only dev environment I have.
I'm sure it will work with Mono as its a simple program, but someone with Linux will have to verify.
LazyOtto
Sr. Member
****
Offline Offline

Activity: 476
Merit: 250


View Profile
June 10, 2012, 06:00:01 PM
 #3

- This is written for .Net 3.5.  I'm pretty sure that means Windows only.  Sorry linux and mac folks, this is the only dev environment I have.
I'm sure it will work with Mono as its a simple program, but someone with Linux will have to verify.
Apparently not as it is currently packaged.

"$ mono OzcoinWidget-Windows.EXE
 Cannot open assembly 'OzcoinWidget-Windows.EXE': File does not contain a valid CIL image."

Perhaps if some dis-assembly was performed required components could be exposed.
mdude77 (OP)
Legendary
*
Offline Offline

Activity: 1540
Merit: 1001



View Profile
June 10, 2012, 06:47:05 PM
 #4

- This is written for .Net 3.5.  I'm pretty sure that means Windows only.  Sorry linux and mac folks, this is the only dev environment I have.
I'm sure it will work with Mono as its a simple program, but someone with Linux will have to verify.
Apparently not as it is currently packaged.

"$ mono OzcoinWidget-Windows.EXE
 Cannot open assembly 'OzcoinWidget-Windows.EXE': File does not contain a valid CIL image."

Perhaps if some dis-assembly was performed required components could be exposed.

If you're looking at the official ozcoin widget, it has a linux version already.

M

I mine at Kano's Pool because it pays the best and is completely transparent!  Come join me!
mdude77 (OP)
Legendary
*
Offline Offline

Activity: 1540
Merit: 1001



View Profile
November 15, 2012, 04:03:30 AM
 #5

New version:

- adds support for Eclipse, 50BTC, and P2Pool
- renamed to MPoolMonitor since it's no longer just for OzCoin

M

I mine at Kano's Pool because it pays the best and is completely transparent!  Come join me!
lenny_
Legendary
*
Offline Offline

Activity: 1036
Merit: 1000


DARKNETMARKETS.COM


View Profile WWW
November 18, 2012, 01:53:50 PM
 #6

Only for Windows, written with .Net, and closed source. No comments.
Quote
"everyone has Excel"
... Mate, on what world do you live? Smiley

DARKNET MARKETS >> https://DARKNETMARKETS.COM
mdude77 (OP)
Legendary
*
Offline Offline

Activity: 1540
Merit: 1001



View Profile
November 18, 2012, 03:34:25 PM
 #7

Only for Windows, written with .Net, and closed source. No comments.
Quote
"everyone has Excel"
... Mate, on what world do you live? Smiley

In a corporate windows world where everyone has excel.  Sorry to disappoint, I use what I have.  As stated above, if your concern is it being closed source, as I said, .net is easily reverse engineered.  Maybe some day if I'm rich I'll buy a dev environment that can target multiple platforms.

I've tried linux multiple times, and I have the same problem linux people do when they use windows ... they get completely lost.  Despite great efforts by linux devs, there is a still very large divide between windows and linux.

M


I mine at Kano's Pool because it pays the best and is completely transparent!  Come join me!
DrHaribo
Legendary
*
Offline Offline

Activity: 2730
Merit: 1034


Needs more jiggawatts


View Profile WWW
November 19, 2012, 11:24:11 AM
 #8

As long as we are talking about CSV files, they can be opened in practically anything.

▶▶▶ bitminter.com 2011-2020 ▶▶▶ pool.xbtodigital.io 2023-
bruiser
Member
**
Offline Offline

Activity: 68
Merit: 13


View Profile
November 20, 2012, 07:06:19 AM
 #9

Looks promising, would love to see BitMinter added Smiley

If you also need backup hosting, I have a few servers I would gladly host a copy for free. Just let me know.
mdude77 (OP)
Legendary
*
Offline Offline

Activity: 1540
Merit: 1001



View Profile
November 26, 2012, 01:59:03 AM
 #10

I just published v2.1.

The big change to this is added support for BitMinter.
There are a lot of bug fixes as well.
Also made a few changes to try to keep the output somewhat consistent across the pools, since there doesn't seem to be a standard at all across the pools, aside from using JSON.

As always, feedback and suggestions are welcome.

M

I mine at Kano's Pool because it pays the best and is completely transparent!  Come join me!
mdude77 (OP)
Legendary
*
Offline Offline

Activity: 1540
Merit: 1001



View Profile
November 26, 2012, 02:10:43 AM
 #11

Also, a note to pool operators:

I have room for a message of the day (MOTD) for your pool.  If your pool is currently supported, and you want this, please PM me the URL for your MOTD.  Please note that:

- It would only be shown on the config tab, and would only refresh on demand when the user goes the config tab for your pool.
- I'm leaning towards refreshing it approximately hourly and showing a label on your pool's tab if it changes, but my implementation may change if I start getting some MOTDs.
- I can show HTML, including images.  But remember, this is a widget, so keep it small, like 550x300 pixels or less.
- If you imbed a URL, be sure to "target=_something" it so that it pops out my app.
- This is intended for notifications like "stratum now available" or "pool problems", not for advertisements. 

Regards,

M

I mine at Kano's Pool because it pays the best and is completely transparent!  Come join me!
mdude77 (OP)
Legendary
*
Offline Offline

Activity: 1540
Merit: 1001



View Profile
December 03, 2012, 02:39:32 AM
 #12

Version 2.2 released.  Adds support for BTCGuild, and more bugfixes/tweaks to be consistent across pools.

M

I mine at Kano's Pool because it pays the best and is completely transparent!  Come join me!
eleuthria
Legendary
*
Offline Offline

Activity: 1750
Merit: 1007



View Profile
December 03, 2012, 02:56:24 AM
 #13

Version 2.2 released.  Adds support for BTCGuild, and more bugfixes/tweaks to be consistent across pools.

M

Thank you for adding BTC Guild to this.  Did you implement it in a way that if the API adds additional data (keeps the old stuff), it will continue to work?  BTC Guild will be adding a lot of new API data for the PPLNS payment method this week.  Nothing old will go away, but I know in the past some of these pool monitor gadgets didn't behave well when things were added to pool APIs.

RIP BTC Guild, April 2011 - June 2015
mdude77 (OP)
Legendary
*
Offline Offline

Activity: 1540
Merit: 1001



View Profile
December 03, 2012, 09:50:05 AM
 #14

Version 2.2 released.  Adds support for BTCGuild, and more bugfixes/tweaks to be consistent across pools.

M

Thank you for adding BTC Guild to this.  Did you implement it in a way that if the API adds additional data (keeps the old stuff), it will continue to work?  BTC Guild will be adding a lot of new API data for the PPLNS payment method this week.  Nothing old will go away, but I know in the past some of these pool monitor gadgets didn't behave well when things were added to pool APIs.

It shouldn't be affected.  As long as the existing JSON structure remains unchanged and just new things are added, it should work.

If not, I can always fix it.

M

I mine at Kano's Pool because it pays the best and is completely transparent!  Come join me!
Roland68
Member
**
Offline Offline

Activity: 103
Merit: 10



View Profile
December 03, 2012, 04:34:28 PM
 #15

Link give 21 version insteadt 22 ...

sad
mdude77 (OP)
Legendary
*
Offline Offline

Activity: 1540
Merit: 1001



View Profile
December 03, 2012, 04:46:45 PM
 #16

Link give 21 version insteadt 22 ...

sad

Oops.  Fixed.

Thanks!

M

I mine at Kano's Pool because it pays the best and is completely transparent!  Come join me!
Joshwaa
Hero Member
*****
Offline Offline

Activity: 497
Merit: 500



View Profile
December 03, 2012, 09:44:38 PM
 #17

I get an error with BTCGuild  PJ:API ERROR2
mdude77 (OP)
Legendary
*
Offline Offline

Activity: 1540
Merit: 1001



View Profile
December 03, 2012, 10:09:55 PM
 #18

I get an error with BTCGuild  PJ:API ERROR2

That means it had a problem parsing the output from BTCGuild.  Check your API key, is it correct?

You should be able to go this URL in your browser, putting your API key at the end:

https://www.btcguild.com/api.php?api_key=

M

I mine at Kano's Pool because it pays the best and is completely transparent!  Come join me!
Joshwaa
Hero Member
*****
Offline Offline

Activity: 497
Merit: 500



View Profile
December 03, 2012, 10:27:15 PM
 #19

It is correct and I can see all my miners and hash rates. Just gives the error.
mdude77 (OP)
Legendary
*
Offline Offline

Activity: 1540
Merit: 1001



View Profile
December 03, 2012, 11:16:11 PM
 #20

It is correct and I can see all my miners and hash rates. Just gives the error.

Try changing the refresh rate to 2minutes and see if goes away.  BTCGuild is the first pool I've found that returns "you're only allowed to check this once every 60 seconds" if you refresh too often.  MPoolMonitor won't check more often than every 60 seconds, but it's possible between your clock and the pool clock that the pool is slapping your hands when it shouldn't.

M

I mine at Kano's Pool because it pays the best and is completely transparent!  Come join me!
Pages: [1] 2 3 4 5 6 7 8 9 10 »  All
  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!