Eligius has, to my knowledge, more publicly exposed data about the pool and miners than any other pool, be it on the stats page, the API, or elsewhere.

Historic API JSON files

    • Static files updated at reasonable intervals
    • Written by the reward system code directly
    • With Eligius's popularity growth, are admittedly cluttered (lots of users)
    • Available at http://eligius.st/~luke-jr/raw/7/
    • balances.json
      • Up-to-date balance data for all pool miners, old and new.
      • Values for Bitcoins are in "Satoshis" (0.00000001 BTC or 0.0001 TBC)
      • Fields
        • everpaid - The all time total amount actually paid to the miner's address by the pool (via generation or manual payouts)
        • balance - The current balance that the miner has at the pool INCLUDING ESTIMATES FOR EARNINGS FOR THE CURRENT ROUND
        • credit - The total amount of shelved shares (and old SMPPS extra credit, if older miner from that time) that this miner has
        • oldest - Unix timestamp for the oldest unpaid balance this user has (ususally the timestamp of the users last payout)
        • newest - Unix timestamp for the latest balance change (new share submitted, or old shelved paid)
        • last_balance_update - Unix timestamp for the last time the users not-estimated balance officially changed (usually the time of the last pool block submission)
        • included_balance_estimate - Amount that was added to the balance field that is the estimated earnings for the current round only (not actually earned/rewarded yet)
        • included_credit_estimate - Same as above, except for the credit field
      • Updated roughly every few minutes
    • cppsrb.json
      • Other data available to the reward system and exposed
      • Currently only the amount of shares at various intervals is available, per user.
      • The fields under shares for each user are labeled as intervals in seconds
      • The values are the number of accepted shares (adjusted to pool difficulty 1) in that recent timeframe for that user.
      • The footer value is the pool-wide total
        • Note: known floating point addition issue here makes the pool-wide total off by as much as about 0.5%. (negligable)
      • Updated about every minute.
    • payout_queue.txt
      • A simple list of addresses who have reached the payout queue, in order from oldest balance to newest
      • Can be correlated with balances.json easily.
    • coinbase.txt
      • The output from the coinbaser for the pool that is currently being mined for the generation transaction for miner payouts.
    • blocks/<blockhash>.json
      • Data similar to balances.json, except a snapshot at the time of the specific block mining.
      • Includes date orphaned blocks
    • All other files may be outdated/depreciated.

 

New per user hashrate API

 

New wizstats API interface

    • http://eligius.st/~wizkid057/newstats/api.php
    • All variables passed via the HTTP GET query string
    • Default output format is json.
      • Supported formats are:
        • json (default)
        • jsonp (requires additional alphanumeric field callback, otherwise falls back to json)
        • text (php print_r output)
        • csv (only for supported commands, otherwise error)
    • Supported commands are:
      • getacceptedcount - Get the number of shares accepted for a user over a given time period
        • Example: http://eligius.st/~wizkid057/newstats/api.php?cmd=getacceptedcount&username=1Jq8g5RNuPSS28hoiuh1PbgakVxNzqB4it
        • Request fields
          • username - The username/mining address of the pool user (either this or user_id is required)
          • user_id - internal database ID of the pool user (either this or username is required)
          • startdate - String for a date of the earliest share to count. Example: 2014-02-02 22:55:00 - Default: Current date minus 3 hours
          • enddate - Same as startdate, except the last date to count
        • Note: Resolution of the data available is 675 seconds
      • gethashrate - Get a user's current hash rate info as seen by the pool
      • getuserstat - Get user payout related information
        • Example: http://eligius.st/~wizkid057/newstats/api.php?cmd=getuserstat&username=1...
        • Request fields
          • username - The username/mining address of the pool user (required)
        • Note: Data has up to 1 minute resolution, but can be delayed by more.
        • Return fields - monetary values are in satoshi (0.00000001 BTC)
          • bal - Current unpaid balance including estimates for the current round
          • ec - Sum of CPPSRB shelved shares and SMPPS extra credit (if applicable) including estimates for the current round
          • everpaid - Total actually paid (and verifyable in the blockchain) to this miner
          • lbal - Unpaid balance as of the last block (no estimates)
          • lec - Sum of CPPSRB shelved shares and SMPPS extra credit (if applicable) as of the last block (no estimates)
          • Rest are human readable self explanitory
      • getblocks - Get information about blocks mined by Eligius
        • Example: http://eligius.st/~wizkid057/newstats/api.php?cmd=getblocks&limit=10&format=text&sortby=time&offset=0
        • Request fields (all optional)
          • limit - max rows to return (default 32)
          • offset - number of rows to skip (default 0) (intended for pagination)
          • minconfs - minimum number of confirmations required to show (default 1, max 120, 0 will show stale/orphaned blocks also)
          • minheight - minimum height to return (default 0, intended for anything that polls this data incrementally)
          • sortorder - 0 = decending, 1 = ascending (default 0)
          • showpretty - 0 = disabled, 1 = enabled - enable/disable returning human readable "pretty" versions of some fields (default 1)
          • sortby - select which field to sort by. allowed options are: time, accepted_shares, network_difficulty, percent_of_network, height, duration, hashrate, luck (defaults to time, invalid values default to time)
        • Returns block data as numbered rows starting with 0.
        • This command supports format=csv
          • Default Content-type for csv is text/csv and Content-Disposition: attachment;filename=getblocks.csv
            • You can override back to text/plain by adding csvastext=1 to your request.
          • Returns only a header row + lines for data, count and numbered entries and echo of options are not returned.

 

More to come. :)

 

-wk