Difference between revisions of "Poolservers"

From Bitcoin Wiki
Jump to: navigation, search
(Fix p2pool link for software)
(Added Stratum)
Line 1: Line 1:
 
{| class='wikitable'
 
{| class='wikitable'
! colspan='9' | information
+
! colspan='10' | information
 
|-
 
|-
! Info !! bitcoind !! ecoinpool !! Eloipool !! PoolServerJ !! pushpool !! p2pool !! BitPenny !! Slush
+
! Info !! bitcoind !! ecoinpool !! Eloipool !! PoolServerJ !! pushpool !! p2pool !! BitPenny !! Slush !! Stratum
 
|-
 
|-
| language || C++ || Erlang || Python3 || Java || C || Twisted || C++ || Python2
+
| language || C++ || Erlang || Python3 || Java || C || Twisted || C++ || Python2 || Python2
 
|-
 
|-
| license || MIT || GPL-3 || AGPL-3 || GPL-3 || GPL-2 || GPL-3 || {{No}} || {{No}}
+
| license || MIT || GPL-3 || AGPL-3 || GPL-3 || GPL-2 || GPL-3 || {{No}} || {{No}} || AGPL-3
 
|-
 
|-
| ref. pool || || [[BTCServ]] || [[Eligius]] || || || [[P2Pool]] || [[BitPenny]] || [[Slush's pool]]
+
| ref. pool || || [[BTCServ]] || [[Eligius]] || || || [[P2Pool]] || [[BitPenny]] || [[Slush's pool]] || [[Slush's pool]]
 
|-
 
|-
| website || [http://sf.net/projects/bitcoin link] || [https://ecoinpool.p2k-network.org/ link] || [http://gitorious.org/bitcoin/eloipool link] || [http://poolserverj.org/ link] || [https://github.com/jgarzik/pushpool link] || [https://github.com/forrestv/p2pool/ link] || ||
+
| website || [http://sf.net/projects/bitcoin link] || [https://ecoinpool.p2k-network.org/ link] || [http://gitorious.org/bitcoin/eloipool link] || [http://poolserverj.org/ link] || [https://github.com/jgarzik/pushpool link] || [https://github.com/forrestv/p2pool/ link] || || || [https://github.com/slush0/stratum-mining link]
 
|-
 
|-
! colspan='9' | miner protocols
+
! colspan='10' | miner protocols
 
|-
 
|-
! Protocol !! bitcoind !! ecoinpool !! Eloipool !! PoolServerJ !! pushpool !! p2pool !! BitPenny || Slush
+
! Protocol !! bitcoind !! ecoinpool !! Eloipool !! PoolServerJ !! pushpool !! p2pool !! BitPenny || Slush || Stratum
 
|-
 
|-
| [[getwork]] || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}}
+
| [[getwork]] || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}}
 
|-
 
|-
| [[UBBP]] || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}}
+
| [[UBBP]] || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}}
 
|-
 
|-
| [[BIP 0022|getblocktemplate]] || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
+
| [[BIP 0022|getblocktemplate]] || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
 
|-
 
|-
| [[BlkPrep]] || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}}
+
| [[BlkPrep]] || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}}
 
|-
 
|-
 
! colspan='9' | getwork extensions
 
! colspan='9' | getwork extensions
 
|-
 
|-
! Extension !! bitcoind !! ecoinpool !! Eloipool !! PoolServerJ !! pushpool !! p2pool !! BitPenny !! Slush
+
! Extension !! bitcoind !! ecoinpool !! Eloipool !! PoolServerJ !! pushpool !! p2pool !! BitPenny !! Slush !! Stratum
 
|-
 
|-
| hostlist || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || n/a || {{No}}
+
| hostlist || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || n/a || {{No}} || n/a
 
|-
 
|-
| longpoll || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || n/a || {{Yes}}
+
| longpoll || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || n/a || {{Yes}} || n/a
 
|-
 
|-
| midstate || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || n/a || {{No}}
+
| midstate || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || n/a || {{No}} || n/a
 
|-
 
|-
| noncerange || {{No}} || {{No}} || {{No}} || || {{Patch|uri=http://gitorious.org/~Luke-Jr/bitcoin/luke-jrs-pushpool/commit/2dd2ad48e7d21f917dae3b5d9186563c78942e38}} || {{No}} || n/a || {{No}}
+
| noncerange || {{No}} || {{No}} || {{No}} || || {{Patch|uri=http://gitorious.org/~Luke-Jr/bitcoin/luke-jrs-pushpool/commit/2dd2ad48e7d21f917dae3b5d9186563c78942e38}} || {{No}} || n/a || {{No}} || n/a
 
|-
 
|-
| reject-reason || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || n/a || {{No}}
+
| reject-reason || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || n/a || {{No}} || n/a
 
|-
 
|-
| rollntime || {{NotAdv}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || n/a || {{Yes}}
+
| rollntime || {{NotAdv}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || n/a || {{Yes}} || n/a
 
|-
 
|-
| expire=N || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || n/a || {{No}}
+
| expire=N || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || n/a || {{No}} || n/a
 
|-
 
|-
| submitold || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{Patch}} || {{Yes}} || n/a || {{No}}
+
| submitold || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{Patch}} || {{Yes}} || n/a || {{No}} || n/a
 
|-
 
|-
| switchto || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || n/a || {{No}}
+
| switchto || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || n/a || {{No}} || n/a
 
|-
 
|-
 
! colspan='9' | getblocktemplate/BlkPrep functionality
 
! colspan='9' | getblocktemplate/BlkPrep functionality
Line 84: Line 84:
 
| prevblock || {{Yes}} || n/a || {{No}} || n/a || n/a || n/a || || n/a
 
| prevblock || {{Yes}} || n/a || {{No}} || n/a || n/a || n/a || || n/a
 
|-
 
|-
! colspan='9' | share targets
+
! colspan='10' | share targets
 
|-
 
|-
! Feature !! bitcoind !! ecoinpool !! Eloipool !! PoolServerJ !! pushpool !! p2pool !! BitPenny !! Slush
+
! Feature !! bitcoind !! ecoinpool !! Eloipool !! PoolServerJ !! pushpool !! p2pool !! BitPenny !! Slush !! Stratum
 +
|-
 +
| default || network || 1 || 1 || 1 || 1 || 1 || 8 || 1 || 1
 
|-
 
|-
| default || network || 1 || 1 || 1 || 1 || 1 || 8 || 1
+
| config || {{No}} || || {{Yes}} || || {{No}} || || || || {{Yes}}
 
|-
 
|-
| config || {{No}} || || {{Yes}} || || {{No}} || || ||
+
| dynamic || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || || || || {{Yes}}
 
|-
 
|-
| dynamic || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || || ||
+
! colspan='10' | work generation
 
|-
 
|-
! colspan='9' | work generation
+
! Feature !! bitcoind !! ecoinpool !! Eloipool !! PoolServerJ !! pushpool !! p2pool !! BitPenny !! Slush !! Stratum
 
|-
 
|-
! Feature !! bitcoind !! ecoinpool !! Eloipool !! PoolServerJ !! pushpool !! p2pool !! BitPenny !! Slush
+
| getwork || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{Yes}} || {{No}}
 
|-
 
|-
| getwork || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{Yes}}
+
| ntime roll || {{No}} || {{No}} || {{No}} || || {{Patch|uri=http://gitorious.org/~Luke-Jr/bitcoin/luke-jrs-pushpool/commits/ntimes}} || {{Yes}} || {{No}} || {{No}} || {{Yes}}
 
|-
 
|-
| ntime roll || {{No}} || {{No}} || {{No}} || || {{Patch|uri=http://gitorious.org/~Luke-Jr/bitcoin/luke-jrs-pushpool/commits/ntimes}} || {{Yes}} || {{No}} || {{No}}
+
| getmemorypool || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}}
 
|-
 
|-
| getmemorypool || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}}
+
| getblocktemplate || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
 
|-
 
|-
| getblocktemplate || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
+
| coinbaser || {{No}} || {{Yes}} || {{Yes}} || || {{No}} || {{No}} || || || {{Yes}}
 
|-
 
|-
| coinbaser || {{No}} || {{Yes}} || {{Yes}} || || {{No}} || {{No}} || ||
+
| gotwork || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || || {{No}} || {{No}}
 
|-
 
|-
| gotwork || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || || {{No}}
+
| setworkaux || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || || {{No}} || {{No}}
 
|-
 
|-
| setworkaux || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || || {{No}}
+
| getauxblock || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || || {{No}} || {{No}}
 
|-
 
|-
| getauxblock || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || || {{No}}
+
| extranonce rolling || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || || {{No}} || {{Yes}}
 
|-
 
|-
 
|title='merged-mining getmemorypool'| MM gmp
 
|title='merged-mining getmemorypool'| MM gmp
Line 143: Line 145:
 
! colspan='9' | databases
 
! colspan='9' | databases
 
|-
 
|-
! Database !! bitcoind !! ecoinpool !! Eloipool !! PoolServerJ !! pushpool !! p2pool !! BitPenny !! Slush
+
! Database !! bitcoind !! ecoinpool !! Eloipool !! PoolServerJ !! pushpool !! p2pool !! BitPenny !! Slush !! Stratum
 
|-
 
|-
| couchdb || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || ||{{No}}
+
| couchdb || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || ||{{No}} || possible
 
|-
 
|-
| mysql || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || || {{Yes}}
+
| mysql || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || || {{Yes}} || possible
 
|-
 
|-
| plaintext || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ||{{No}}
+
| plaintext || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ||{{No}} || possible
 
|-
 
|-
| postgres || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || ||{{No}}
+
| postgres || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || ||{{No}} || possible
 
|-
 
|-
| rrd || {{No}} || || {{No}} || || {{No}} || {{Yes}} || ||{{No}}
+
| rrd || {{No}} || || {{No}} || || {{No}} || {{Yes}} || ||{{No}} || possible
 
|-
 
|-
| sqlite || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || ||{{No}}
+
| sqlite || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || ||{{No}} || possible
 
|}
 
|}
  
 
<references/>
 
<references/>

Revision as of 18:09, 17 September 2012

information
Info bitcoind ecoinpool Eloipool PoolServerJ pushpool p2pool BitPenny Slush Stratum
language C++ Erlang Python3 Java C Twisted C++ Python2 Python2
license MIT GPL-3 AGPL-3 GPL-3 GPL-2 GPL-3 No No AGPL-3
ref. pool BTCServ Eligius P2Pool BitPenny Slush's pool Slush's pool
website link link link link link link link
miner protocols
Protocol bitcoind ecoinpool Eloipool PoolServerJ pushpool p2pool BitPenny Slush Stratum
getwork Yes Yes Yes Yes Yes Yes No Yes No
UBBP No No No No Yes No No No No
getblocktemplate Yes No Yes No No No No No No
BlkPrep No No No No No No Yes No No
getwork extensions
Extension bitcoind ecoinpool Eloipool PoolServerJ pushpool p2pool BitPenny Slush Stratum
hostlist No No No No No No n/a No n/a
longpoll No Yes Yes Yes Yes Yes n/a Yes n/a
midstate No Yes Yes No No No n/a No n/a
noncerange No No No Patch No n/a No n/a
reject-reason No Yes Yes Yes Yes No n/a No n/a
rollntime Yes[1] Yes Yes Yes Yes Yes n/a Yes n/a
expire=N No Yes Yes Yes Yes Yes n/a No n/a
submitold No Yes Yes No Patch Yes n/a No n/a
switchto No No No No No No n/a No n/a
getblocktemplate/BlkPrep functionality
Function bitcoind ecoinpool Eloipool PoolServerJ pushpool p2pool BitPenny Slush
longpoll No n/a Yes n/a n/a n/a n/a n/a
noncerange No n/a No n/a n/a n/a n/a n/a
proposal No n/a No n/a n/a n/a n/a n/a
serverlist No n/a No n/a n/a n/a n/a n/a
getblocktemplate/BlkPrep variations
Variation bitcoind ecoinpool Eloipool PoolServerJ pushpool p2pool BitPenny Slush
coinbase/append Yes n/a Yes n/a n/a n/a Yes n/a
coinbase (set) Yes n/a No n/a n/a n/a n/a
generation Yes n/a No n/a n/a n/a No n/a
share/coinbase n/a n/a n/a n/a n/a n/a
share/merkle n/a n/a No n/a n/a n/a n/a
share/truncate n/a n/a No n/a n/a n/a n/a
time/increment Yes n/a Yes n/a n/a n/a n/a
time/decrement Yes n/a Yes n/a n/a n/a n/a
txns/add Yes n/a No n/a n/a n/a n/a
txns/remove Yes n/a No n/a n/a n/a n/a
prevblock Yes n/a No n/a n/a n/a n/a
share targets
Feature bitcoind ecoinpool Eloipool PoolServerJ pushpool p2pool BitPenny Slush Stratum
default network 1 1 1 1 1 8 1 1
config No Yes No Yes
dynamic No No No No No Yes
work generation
Feature bitcoind ecoinpool Eloipool PoolServerJ pushpool p2pool BitPenny Slush Stratum
getwork No No No Yes Yes No No Yes No
ntime roll No No No Patch Yes No No Yes
getmemorypool No Yes Yes Yes No Yes No No No
getblocktemplate No No Yes No No No No No No
coinbaser No Yes Yes No No Yes
gotwork No No Yes No No No No No
setworkaux No No Yes No No No No No
getauxblock No No No Yes No Yes No No
extranonce rolling No No No No No No No Yes
MM gmp No Yes No No No
full node Yes No No No No No Yes
account management
Feature bitcoind ecoinpool Eloipool PoolServerJ pushpool p2pool BitPenny Slush
multiuser No Yes Yes Yes Yes Yes Yes Yes
explicit users Yes Yes No Yes Yes No
anon users No Yes Yes Yes Yes Yes
explicit workers Yes Yes No Yes Yes No
anon workers No Yes Yes Yes Yes Yes
saved worklog No Yes Yes Yes No No
saved sockets No No No No
share logging No Yes Yes Yes Yes Yes Yes Yes
invalid logging No Yes Yes Yes Yes No
databases
Database bitcoind ecoinpool Eloipool PoolServerJ pushpool p2pool BitPenny Slush Stratum
couchdb No Yes No No No No No possible
mysql No Yes Yes Yes Yes No Yes possible
plaintext No Yes Yes Yes Yes Yes No possible
postgres No Yes Yes Yes Yes No No possible
rrd No No No Yes No possible
sqlite No No Yes Yes Yes No No possible
  1. Supported, but not advertised