Poolservers: Difference between revisions
Jump to navigation
Jump to 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 !! | ! Info !! bitcoind !! ecoinpool !! Eloipool !! PoolServerJ !! pushpool !! p2pool !! BitPenny !! Stratum | ||
|- | |- | ||
| language || C++ || Erlang || Python3 || Java || C || Twisted || C++ || | | language || C++ || Erlang || Python3 || Java || C || Twisted || C++ || Twisted | ||
|- | |- | ||
| license || MIT || GPL-3 || AGPL-3 || GPL-3 || GPL-2 || GPL-3 || {{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 || | ! Protocol !! bitcoind !! ecoinpool !! Eloipool !! PoolServerJ !! pushpool !! p2pool !! BitPenny || Stratum | ||
|- | |- | ||
| [[getwork]] || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{ | | [[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 || | | hostlist || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || n/a || n/a | ||
|- | |- | ||
| longpoll || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || n/a || | | longpoll || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || n/a || n/a | ||
|- | |- | ||
| midstate || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{No}} || n/a || | | 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 || | | 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 || | | reject-reason || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || n/a || n/a | ||
|- | |- | ||
| rollntime || {{NotAdv}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || n/a || | | rollntime || {{NotAdv}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || n/a || n/a | ||
|- | |- | ||
| expire=N || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || n/a || | | expire=N || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || n/a || n/a | ||
|- | |- | ||
| submitold || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{Patch}} || {{Yes}} || n/a || | | submitold || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{Patch}} || {{Yes}} || n/a || n/a | ||
|- | |- | ||
| switchto || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || n/a || | | 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 !! | ! 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 !! | ! 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 !! | ! 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 | ||
|- | |- | ||
| | | 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 !! | ! 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}} || {{ | | 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}} || {{ | | [[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 !! | ! 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}} || | | 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 |
- ↑ Supported, but not advertised