BIP PoolAPI

From Bitcoin Wiki
Revision as of 22:29, 1 June 2012 by Luke-jr (talk | contribs)
Jump to: navigation, search

This page describes a BIP (Bitcoin Improvement Proposal).
Please see BIP 2 for more information about BIPs and creating them. Please do not just create a wiki page.

  BIP: ?
  Title: ?
  Author: ? and Luke Dashjr <luke+bip22@dashjr.org>
  Status: Draft
  Type: Standards Track
  Created: 22-05-2012

Abstract

Specification

All times are in standard seconds since Jan 1 1970 midnight UTC.

Key Type Description
Root
version Number always 1
group Object information about the organizational pool
collab Array of Objects information about each collaborative pool
Organizational pool
Key Type Description
name String human-readable identifier for organizational pool
hashrate Number total hashrate of all mining in the organizational pool
miners Array of Objects information of specific miners
Collaborative pool
Key Type Description
name String human-readable identifier for collaborative pool
hashrate Number total hashrate of all mining in the same collaborative pool
roundbegin Number time the current round began
roundshares Number number of shares submitted to the current round
fee Number fee (0.01 = 1%)
rewardalgo String reward algorithm identifier
miners Array of Objects information of specific miners
Individual miner or worker
Key Type Description
id String unique identifier for a miner's account (shared across collaborative pools)
name String human-readable identifier for miner
balances Array of Objects balance information
fee Number fee (0.01 = 1%)
hashrate Number total hashrate of all mining in the same collaborative pool
lastactive Number time the miner was last seen active
roundshares Number number of shares submitted to the current round
workers Array of Objects information of specific workers
Balance info
Key Type Description
currency String currency of balance
balance Number amount currently stored at the pool
estimate Number amount expected reward for the current round
fee Number fee (0.01 = 1%)
paid Number amount that has been paid out ever
lastpay Number amount of last payout
lastpaytime Number time of last payout
autopay Number minimum amount before autopayout
autopayto String address for autopayouts

Currencies:

Currency name Description
Bitcoin Bitcoins (in Satoshis)
Namecoin Namecoins
fiat Pool-specific "play money" (eg, SMPPS "extra credit")

Reward algorithms:

Algorithm name Description
Prop Proportional
PPLNS Pay Per Last N Shares
PPS Pay Per Share
SMPPS Shared Maximum Pay Per Share
Score
Geo Geometric Method
DGM Double Geometric Method

Example

{
	"version": 1,
	"group": {
		"name": "Eligius",
		"hashrate": 600000000000
	},
	"collab": [
		{
			"name": "Eligius-Ra",
			"hashrate": 550000000000,
			"roundbegin": 1337719877.959086,
			"roundshares": 423433,
			"fee": 0,
			"rewardalgo": "SMPPS",
			"miners": [
				"id": "16kNKa7WUg8QAPFy8dJRv7USSu2fAG2pkW",
				"name": "Luke-Jr",
				"balances": [
					{
						"currency": "Bitcoin",
						"balance": 167476453,
						"estimate": 14761828,
						"paid": 5800000000,
						"lastpay": 67423840,
						"lastpaytime": 1337713832.25908
					},
					{
						"currency": "fiat",
						"balance": 9342224,
						"estimate": 39433
					}
				],
				"hashrate": 1382848482,
				"lastactive": 1337783882.423086,
				"roundshares": 832,
				"workers": [
					{
						"id": "16kNKa7WUg8QAPFy8dJRv7USSu2fAG2pkW_Icarus",
						"name": "Luke-Jr's Icarus :)",
						"hashrate": 378483883,
						"lastactive": 1337783882.423086,
						"roundshares": 100,
					},
					{
						"id": "16kNKa7WUg8QAPFy8dJRv7USSu2fAG2pkW_BFL",
						"name": "Luke-Jr's BitForce Single :D",
						"hashrate": 832942393,
						"lastactive": 1337783882.423086,
						"roundshares": 600,
					},
					{
						"id": "16kNKa7WUg8QAPFy8dJRv7USSu2fAG2pkW_6870",
						"name": "Luke-Jr's Radeon 6870",
						"hashrate": 371422206,
						"lastactive": 1337783882.423086,
						"roundshares": 232,
					}
				]
			]
		}
	]
}

Motivation

Rationale

Backwards Compatibility

Reference Implementation