Difference between revisions of "Poolservers"

From Bitcoin Wiki
Jump to: navigation, search
(stratum func)
(Replace Slush pool with his Stratum server)
Line 2: Line 2:
 
! colspan='9' | information
 
! colspan='9' | information
 
|-
 
|-
! Info !! bitcoind !! ecoinpool !! Eloipool !! PoolServerJ !! pushpool !! p2pool !! BitPenny !! Slush
+
! Info !! bitcoind !! ecoinpool !! Eloipool !! PoolServerJ !! pushpool !! p2pool !! BitPenny !! Stratum
 
|-
 
|-
| language || C++ || Erlang || Python3 || Java || C || Twisted || C++ || Python2
+
| language || C++ || Erlang || Python3 || Java || C || Twisted || C++ || Twisted
 
|-
 
|-
| 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}} || AGPL-3
 
|-
 
|-
 
| ref. pool || || [[BTCServ]] || [[Eligius]] || || || [[P2Pool]] || [[BitPenny]] || [[Slush's pool]]
 
| ref. pool || || [[BTCServ]] || [[Eligius]] || || || [[P2Pool]] || [[BitPenny]] || [[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='9' | miner protocols
 
|-
 
|-
! Protocol !! bitcoind !! ecoinpool !! Eloipool !! PoolServerJ !! pushpool !! p2pool !! BitPenny || Slush
+
! Protocol !! bitcoind !! ecoinpool !! Eloipool !! PoolServerJ !! pushpool !! p2pool !! BitPenny || Stratum
 
|-
 
|-
| [[getwork]] || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}}
+
| [[getwork]] || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{No}}
 
|-
 
|-
 
| [[UBBP]] || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}}
 
| [[UBBP]] || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}}
Line 24: Line 24:
 
| [[BlkPrep]] || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}}
 
| [[BlkPrep]] || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}}
 
|-
 
|-
| [[Stratum|StratumMP]] || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} ||
+
| [[Stratum|StratumMP]] || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}}
 
|-
 
|-
 
! colspan='9' | getwork extensions
 
! colspan='9' | getwork extensions
Line 30: Line 30:
 
! Extension !! bitcoind !! ecoinpool !! Eloipool !! PoolServerJ !! pushpool !! p2pool !! BitPenny !! Slush
 
! Extension !! bitcoind !! ecoinpool !! Eloipool !! PoolServerJ !! pushpool !! p2pool !! BitPenny !! Slush
 
|-
 
|-
| hostlist || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || n/a || {{No}}
+
| hostlist || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || n/a || n/a
 
|-
 
|-
| longpoll || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || n/a || {{Yes}}
+
| longpoll || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || n/a || n/a
 
|-
 
|-
| midstate || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || n/a || {{No}}
+
| midstate || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || n/a || 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 || n/a
 
|-
 
|-
| reject-reason || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || n/a || {{No}}
+
| reject-reason || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || n/a || n/a
 
|-
 
|-
| rollntime || {{NotAdv}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || n/a || {{Yes}}
+
| rollntime || {{NotAdv}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || n/a || n/a
 
|-
 
|-
| expire=N || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || n/a || {{No}}
+
| expire=N || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || n/a || n/a
 
|-
 
|-
| submitold || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{Patch}} || {{Yes}} || n/a || {{No}}
+
| submitold || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{Patch}} || {{Yes}} || n/a || n/a
 
|-
 
|-
| switchto || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || n/a || {{No}}
+
| switchto || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || n/a || n/a
 
|-
 
|-
 
! colspan='9' | getblocktemplate/BlkPrep functionality
 
! colspan='9' | getblocktemplate/BlkPrep functionality
 
|-
 
|-
! Function !! bitcoind !! ecoinpool !! Eloipool !! PoolServerJ !! pushpool !! p2pool !! BitPenny !! Slush
+
! Function !! bitcoind !! ecoinpool !! Eloipool !! PoolServerJ !! pushpool !! p2pool !! BitPenny !! Stratum
 
|-
 
|-
 
| longpoll || {{No}} || n/a || {{Yes}} || n/a || n/a || n/a || n/a || n/a
 
| longpoll || {{No}} || n/a || {{Yes}} || n/a || n/a || n/a || n/a || n/a
Line 62: Line 62:
 
! colspan='9' | getblocktemplate/BlkPrep variations
 
! colspan='9' | getblocktemplate/BlkPrep variations
 
|-
 
|-
! Variation !! bitcoind !! ecoinpool !! Eloipool !! PoolServerJ !! pushpool !! p2pool !! BitPenny !! Slush
+
! Variation !! bitcoind !! ecoinpool !! Eloipool !! PoolServerJ !! pushpool !! p2pool !! BitPenny !! Stratum
 
|-
 
|-
 
| coinbase/append || {{Yes}} || n/a || {{Yes}} || n/a || n/a || n/a || {{Yes}} || n/a
 
| coinbase/append || {{Yes}} || n/a || {{Yes}} || n/a || n/a || n/a || {{Yes}} || n/a
Line 88: Line 88:
 
! colspan='9' | stratum functionality
 
! colspan='9' | stratum functionality
 
|-
 
|-
! Function !! bitcoind !! ecoinpool !! Eloipool !! PoolServerJ !! pushpool !! p2pool !! BitPenny !! Slush
+
! Function !! bitcoind !! ecoinpool !! Eloipool !! PoolServerJ !! pushpool !! p2pool !! BitPenny !! Stratum
 
|-
 
|-
 
| job freq || n/a || n/a || 55s || n/a || n/a ||  || n/a || 30s
 
| job freq || n/a || n/a || 55s || n/a || n/a ||  || n/a || 30s
 
|-
 
|-
| resume || n/a || n/a || {{No}} || n/a || n/a ||  || n/a ||  
+
| transparency || n/a || n/a || {{Yes}} || n/a || n/a ||  || n/a || {{No}}
 
|-
 
|-
| reconnect || n/a || n/a || {{No}} || n/a || n/a ||  || n/a ||  
+
| resume || n/a || n/a || {{No}} || n/a || n/a ||  || n/a || {{No}}
 +
|-
 +
| reconnect || n/a || n/a || {{No}} || n/a || n/a ||  || n/a || {{No}}
 
|-
 
|-
 
! colspan='9' | share targets
 
! colspan='9' | share targets
 
|-
 
|-
! Feature !! bitcoind !! ecoinpool !! Eloipool !! PoolServerJ !! pushpool !! p2pool !! BitPenny !! Slush
+
! Feature !! bitcoind !! ecoinpool !! Eloipool !! PoolServerJ !! pushpool !! p2pool !! BitPenny !! Stratum
 
|-
 
|-
 
| default || network || 1 || 1 || 1 || 1 || 1 || 8 || 1
 
| default || network || 1 || 1 || 1 || 1 || 1 || 8 || 1
 
|-
 
|-
| config || {{No}} || || {{Yes}} || || {{No}} || || ||
+
| config || {{No}} || || {{Yes}} || || {{No}} || || || {{No}}
 
|-
 
|-
| dynamic || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || || ||
+
| dynamic || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || || || {{No}}
 
|-
 
|-
 
! colspan='9' | work generation
 
! colspan='9' | work generation
Line 110: Line 112:
 
! Feature !! bitcoind !! ecoinpool !! Eloipool !! PoolServerJ !! pushpool !! p2pool !! BitPenny !! Slush
 
! Feature !! bitcoind !! ecoinpool !! Eloipool !! PoolServerJ !! pushpool !! p2pool !! BitPenny !! Slush
 
|-
 
|-
| getwork || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{Yes}}
+
| getwork || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}}
 
|-
 
|-
 
| ntime roll || {{No}} || {{No}} || {{No}} || || {{Patch|uri=http://gitorious.org/~Luke-Jr/bitcoin/luke-jrs-pushpool/commits/ntimes}} || {{Yes}} || {{No}} || {{No}}
 
| ntime roll || {{No}} || {{No}} || {{No}} || || {{Patch|uri=http://gitorious.org/~Luke-Jr/bitcoin/luke-jrs-pushpool/commits/ntimes}} || {{Yes}} || {{No}} || {{No}}
Line 116: Line 118:
 
| getmemorypool || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}}
 
| getmemorypool || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}}
 
|-
 
|-
| [[getblocktemplate]] || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}
+
| [[getblocktemplate]] || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}}
 
|-
 
|-
| coinbaser || {{No}} || {{Yes}} || {{Yes}} || || {{No}} || {{No}} || ||
+
| coinbaser || {{No}} || {{Yes}} || {{Yes}} || || {{No}} || {{No}} || || {{No}}
 
|-
 
|-
 
| gotwork || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || || {{No}}
 
| gotwork || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || || {{No}}
Line 127: Line 129:
 
|-
 
|-
 
|title='merged-mining getmemorypool'| MM gmp
 
|title='merged-mining getmemorypool'| MM gmp
| {{No}} || {{Yes}} || {{No}} || || {{No}} || {{No}} || ||
+
| {{No}} || {{Yes}} || {{No}} || || {{No}} || {{No}} || || {{No}}
 
|-
 
|-
| full node || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} ||
+
| full node || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}}
 
|-
 
|-
 
! colspan='9' | account management
 
! colspan='9' | account management
 
|-
 
|-
! Feature !! bitcoind !! ecoinpool !! Eloipool !! PoolServerJ !! pushpool !! p2pool !! BitPenny !! Slush
+
! Feature !! bitcoind !! ecoinpool !! Eloipool !! PoolServerJ !! pushpool !! p2pool !! BitPenny !! Stratum
 
|-
 
|-
 
| multiuser || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}
 
| multiuser || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}
 
|-
 
|-
| explicit users || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || ||
+
| explicit users || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || || {{No}}
 
|-
 
|-
| anon users || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ||
+
| anon users || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || || {{Yes}}
 
|-
 
|-
| explicit workers || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || ||
+
| explicit workers || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || || {{No}}
 
|-
 
|-
| anon workers || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ||
+
| anon workers || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || || {{Yes}}
 
|-
 
|-
 
| saved worklog || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || ||
 
| saved worklog || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || ||
 
|-
 
|-
| saved sockets || {{No}} || || {{No}} || || {{No}} || {{No}} || ||
+
| saved sockets || {{No}} || || {{No}} || || {{No}} || {{No}} || || {{No}}
 
|-
 
|-
| share logging || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}
+
| share logging || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} ||  
 
|-
 
|-
 
| invalid logging || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || ||
 
| invalid logging || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || ||
Line 165: Line 167:
 
| postgres || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || ||{{No}}
 
| postgres || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || ||{{No}}
 
|-
 
|-
| rrd || {{No}} || || {{No}} || || {{No}} || {{Yes}} || ||{{No}}
+
| rrd || {{No}} || || {{No}} || || {{No}} || {{Yes}} || || {{No}}
 
|-
 
|-
| sqlite || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || ||{{No}}
+
| sqlite || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || || {{No}}
 
|}
 
|}
  
 
<references/>
 
<references/>

Revision as of 19:51, 23 February 2013

information
Info bitcoind ecoinpool Eloipool PoolServerJ pushpool p2pool BitPenny Stratum
language C++ Erlang Python3 Java C Twisted C++ Twisted
license MIT GPL-3 AGPL-3 GPL-3 GPL-2 GPL-3 No AGPL-3
ref. pool BTCServ Eligius P2Pool BitPenny Slush's pool
website link link link link link link Link
miner protocols
Protocol bitcoind ecoinpool Eloipool PoolServerJ pushpool p2pool BitPenny Stratum
getwork Yes Yes Yes Yes Yes Yes No No
UBBP No No No No Yes No No No
getblocktemplate Yes No Yes No No No No No
BlkPrep No No No No No No Yes No
StratumMP No No Yes No No No No Yes
getwork extensions
Extension bitcoind ecoinpool Eloipool PoolServerJ pushpool p2pool BitPenny Slush
hostlist No No No No No No n/a n/a
longpoll No Yes Yes Yes Yes Yes n/a n/a
midstate No Yes Yes No No No n/a n/a
noncerange No No No Patch No n/a n/a
reject-reason No Yes Yes Yes Yes No n/a n/a
rollntime Yes[1] Yes Yes Yes Yes Yes n/a n/a
expire=N No Yes Yes Yes Yes Yes n/a n/a
submitold No Yes Yes No Patch Yes n/a n/a
switchto No No No No No No n/a n/a
getblocktemplate/BlkPrep functionality
Function bitcoind ecoinpool Eloipool PoolServerJ pushpool p2pool BitPenny Stratum
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 Stratum
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 Yes 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
stratum functionality
Function bitcoind ecoinpool Eloipool PoolServerJ pushpool p2pool BitPenny Stratum
job freq n/a n/a 55s n/a n/a n/a 30s
transparency n/a n/a Yes n/a n/a n/a No
resume n/a n/a No n/a n/a n/a No
reconnect n/a n/a No n/a n/a n/a No
share targets
Feature bitcoind ecoinpool Eloipool PoolServerJ pushpool p2pool BitPenny Stratum
default network 1 1 1 1 1 8 1
config No Yes No No
dynamic No No Yes No No No
work generation
Feature bitcoind ecoinpool Eloipool PoolServerJ pushpool p2pool BitPenny Slush
getwork No No No Yes Yes No No No
ntime roll No No No Patch Yes No No
getmemorypool No Yes Yes Yes No Yes No No
getblocktemplate No No Yes No No No No Yes
coinbaser No Yes Yes No No No
gotwork No No Yes No No No No
setworkaux No No Yes No No No No
getauxblock No No No Yes No Yes No
MM gmp No Yes No No No No
full node Yes No No No No No Yes No
account management
Feature bitcoind ecoinpool Eloipool PoolServerJ pushpool p2pool BitPenny Stratum
multiuser No Yes Yes Yes Yes Yes Yes Yes
explicit users Yes Yes No Yes Yes No No
anon users No Yes Yes Yes Yes Yes Yes
explicit workers Yes Yes No Yes Yes No No
anon workers No Yes Yes Yes Yes Yes Yes
saved worklog No Yes Yes Yes No No
saved sockets No No No No No
share logging No Yes Yes Yes Yes Yes Yes
invalid logging No Yes Yes Yes Yes No
databases
Database bitcoind ecoinpool Eloipool PoolServerJ pushpool p2pool BitPenny Slush
couchdb No Yes No No No No No
mysql No Yes Yes Yes Yes No Yes
plaintext No Yes Yes Yes Yes Yes No
postgres No Yes Yes Yes Yes No No
rrd No No No Yes No
sqlite No No Yes Yes Yes No No
  1. Supported, but not advertised