Releases: decred/dcrpool
dcrpool v2.0.0
This is a new major version of dcrpool which has been updated to use the new BLAKE3 mining algorithm and removes support for ASIC miners.
Note: This version of dcrpool is not compatible with databases created by older versions of dcrpool.
Breaking Changes
-
--service
config flag has been removed. (#342) -
Database version reset to 1 for dcrpool 2.0.0. (#391)
-
Deprecated
--minpayment
and--maxtxfeereserve
config flags have been removed. (#393) -
Support for ASIC miners removed (Whatsminer D1, Antminer DR5, Antminer DR3 Innosilicon D9, Obelisk DCR1). (#400)
-
BLAKE256 support removed in favour of BLAKE3. (#412)
Improvements
-
CPU miner updated to support BLAKE3 mining. (#341)
-
Git hash is now included in application version where possible. (#355)
-
Minimum TLS version for dcrwallet connection is now 1.2. (#369)
-
Improved shutdown signal handling for Windows and Unix platforms. (#381)
-
Postgres 14.9, 15.4, and 16.0 tested and confirmed to be compatible. (#384)
-
Payment IDs are now generated with some randomness to prevent collisions. (#392)
-
Client versions are now only validated by major and minor version numbers, not patch number. (#406)
-
gominer 2.0.x added as a supported client. (#413)
-
Client IP and port are now displayed in the account page. (#428)
Bug Fixes
-
Work performed on blocks which were reorged out of the best chain is now properly pruned. (#336)
-
Tasks deferred until shutdown are now always executed if an error is encountered during startup. (#351)
-
Database is properly closed when dcrpool shuts down due to an error. (#353)
-
Subscribe requests which fail to fetch miner difficulty will now receive a proper error response instead of nothing. (#372)
-
Attempting to message a client on a closed connection will no longer cause the process to hang. (#375)
-
Fixed a race in payment manager logic. (#396)
-
Prevent a possible panic during shutdown. (#397)
-
Fixed a race in client connection handler. (#402)
-
Reward payments are no longer paying excessively large fees. (#427)
-
Fix incorrect handling when dcrd is not able to find a transaction. (#431)
Code Contributors (alphabetical order)
- Dave Collins
- David Hill
- Donald Adu-Poku
- Jamie Holdstock
dcrpool v1.2.0
Breaking Changes.
-
--cpuport
,--d9port
,--dr3port
,--dr5port
,--d1port
and--dcr1port
have been removed in favour of--minerport
(#274). -
--homedir
has been renamed to--appdata
in order to be consistent wih dcrd and dcrwallet (#312).
Bug Fixes.
-
Payment processing now handles dust payments by filtering them out of transactions generated by the pool. (#254)
-
Fixed a solo pool work submission related bug where valid submissions less than the pool target were being rejected. (#286)
-
Fixed a gui related bug where the gui would fail to update because the cache was not being properly updated on block connections. (#297)
-
Fixed a cpu miner related bug where the authorization request was being sent regardless of the state of the subscribtion request. (#297)
-
Fixed a bug related to marshaling and unmarshaling stratum errors. (#304)
Improvements.
-
Error types have been updated to leverage go 1.13 errors.Is/As functionality. (#245)
-
--conftimeout
has been added to control coinbase confirmation durations when sourcing payment transaction inputs. (#250) -
Added postgres support to facilitate multi-instance deployments. (#282)
-
A single miner endpoint configurable via
--minerport
has been added to simplify the connection process. (#274) -
--monitorcycle
and--maxupgradetries
have been added to allow miner monitoring and upgrade cycles. (#274) -
Client hash data is now persisted to ensure coherent and unifom data access for multi-instance deployments. (#293)
-
Facilitate reverse proxy deployments by allowing serving the pool over HTTP and allowing further endpoint configurability by updating
--minerport
and--guiport
to--minerlisten
and--guilisten
. (#301) -
The pool now properly handles
mining.extranonce.subscribe
requests by explicitly stating no support for it. (#304)
Code Contributors (alphabetical order):
- David Hill
- Donald Adu-Poku
- Jamie Holdstock
dcrpool v1.2.0 RC3
Breaking Changes.
-
--cpuport
,--d9port
,--dr3port
,--dr5port
,--d1port
and--dcr1port
have been removed in favour of--minerport
(#274). -
--homedir
has been renamed to--appdata
in order to be consistent wih dcrd and dcrwallet (#312).
Bug Fixes.
-
Payment processing now handles dust payments by filtering them out of transactions generated by the pool. (#254)
-
Fixed a solo pool work submission related bug where valid submissions less than the pool target were being rejected. (#286)
-
Fixed a gui related bug where the gui would fail to update because the cache was not being properly updated on block connections. (#297)
-
Fixed a cpu miner related bug where the authorization request was being sent regardless of the state of the subscription request. (#297)
-
Fixed a bug related to marshaling and unmarshaling stratum errors. (#304)
Improvements.
-
Error types have been updated to leverage go 1.13 errors.Is/As functionality. (#245)
-
--conftimeout
has been added to control coinbase confirmation durations when sourcing payment transaction inputs. (#250) -
Added postgres support to facilitate multi-instance deployments. (#282)
-
A single miner endpoint configurable via
--minerport
has been added to simplify the connection process. (#274) -
--monitorcycle
and--maxupgradetries
have been added to allow miner monitoring and upgrade cycles. (#274) -
Client hash data is now persisted to ensure coherent and unifom data access for multi-instance deployments. (#293)
-
Facilitate reverse proxy deployments by allowing serving the pool over HTTP and allowing further endpoint configurability by updating
--minerport
and--guiport
to--minerlisten
and--guilisten
. (#301) -
The pool now properly handles
mining.extranonce.subscribe
requests by explicitly stating no support for it. (#304)
Code Contributors (alphabetical order):
- David Hill
- Donald Adu-Poku
- Jamie Holdstock
dcrpool v1.2.0 RC2
Breaking Changes.
-
--cpuport
,--d9port
,--dr3port
,--dr5port
,--d1port
and--dcr1port
have been removed in favour of--minerport
(#274). -
--homedir
has been renamed to--appdata
in order to be consistent wih dcrd and dcrwallet (#312).
Bug Fixes.
-
Payment processing now handles dust payments by filtering them out of transactions generated by the pool. (#254)
-
Fixed a solo pool work submission related bug where valid submissions less than the pool target were being rejected. (#286)
-
Fixed a gui related bug where the gui would fail to update because the cache was not being properly updated on block connections. (#297)
-
Fixed a cpu miner related bug where the authorization request was being sent regardless of the state of the subscription request. (#297)
-
Fixed a bug related to marshaling and unmarshaling stratum errors. (#304)
Improvements.
-
Error types have been updated to leverage go 1.13 errors.Is/As functionality. (#245)
-
--conftimeout
has been added to control coinbase confirmation durations when sourcing payment transaction inputs. (#250) -
Added postgres support to facilitate multi-instance deployments. (#282)
-
A single miner endpoint configurable via
--minerport
has been added to simplify the connection process. (#274) -
--monitorcycle
and--maxupgradetries
have been added to allow miner monitoring and upgrade cycles. (#274) -
Client hash data is now persisted to ensure coherent and unifom data access for multi-instance deployments. (#293)
-
Facilitate reverse proxy deployments by allowing serving the pool over HTTP and allowing further endpoint configurability by updating
--minerport
and--guiport
to--minerlisten
and--guilisten
. (#301) -
The pool now properly handles
mining.extranonce.subscribe
requests by explicitly stating no support for it. (#304)
Code Contributors (alphabetical order):
- David Hill
- Donald Adu-Poku
- Jamie Holdstock
dcrpool v1.2.0 RC1
Breaking Changes.
-
--cpuport
,--d9port
,--dr3port
,--dr5port
,--d1port
and--dcr1port
have been removed in favour of--minerport
(#274). -
--homedir
has been renamed to--appdata
in order to be consistent wih dcrd and dcrwallet (#312).
Bug Fixes.
-
Payment processing now handles dust payments by filtering them out of transactions generated by the pool. (#254)
-
Fixed a solo pool work submission related bug where valid submissions less than the pool target were being rejected. (#286)
-
Fixed a gui related bug where the gui would fail to update because the cache was not being properly updated on block connections. (#297)
-
Fixed a cpu miner related bug where the authorization request was being sent regardless of the state of the subscribtion request. (#297)
-
Fixed a bug related to marshaling and unmarshaling stratum errors. (#304)
Improvements.
-
Error types have been updated to leverage go 1.13 errors.Is/As functionality. (#245)
-
--conftimeout
has been added to control coinbase confirmation durations when sourcing payment transaction inputs. (#250) -
Added postgres support to facilitate multi-instance deployments. (#282)
-
A single miner endpoint configurable via
--minerport
has been added to simplify the connection process. (#274) -
--monitorcycle
and--maxupgradetries
have been added to allow miner monitoring and upgrade cycles. (#274) -
Client hash data is now persisted to ensure coherent and unifom data access for multi-instance deployments. (#293)
-
Facilitate reverse proxy deployments by allowing serving the pool over HTTP and allowing further endpoint configurability by updating
--minerport
and--guiport
to--minerlisten
and--guilisten
. (#301) -
The pool now properly handles
mining.extranonce.subscribe
requests by explicitly stating no support for it. (#304)
Code Contributors (alphabetical order):
- David Hill
- Donald Adu-Poku
- Jamie Holdstock
dcrpool v1.1.0
Breaking Changes.
dcrpool v1.1.0 introduces breaking changes to the configuration, existing configurations will have to be updated accordingly. The breaking
changes made are:
-
--backuppass
has been renamed to--adminpass
. -
--lastnperiod
and--maxgentime
are now of typetime.Duration
.
Bug Fixes.
The notable bug fixes in this release include:
-
Data access issues related to using raw db values outside of their associated database transactions have been resolved.
-
Race conditions associated with listing websocket clients and updating the GUI have been resolved.
-
Panics associated with the cpu miner in the testing harness have been resolved.
-
A case where a client stalling on work does not receive timestamp-rolled work has been resolved.
-
Panics associated with logging when the logger has not been initialized have been resolved.
-
A PPS bug where shares generated outside the range of the confirmed work are used in generating payments has been fixed.
Improvements.
The notable infrastructure and interface improvements include:
-
UI/UX has been refreshed with the aim of simplifying usage patterns.
-
Reworked payments processing by having payments track the coinbases being sourced from as well as ensuring payouts are made immediately when the associated coinbase is mature and spendable. For this reason, payout transactions do not return change.
-
Test coverage for pool components have been improved to ensure the components do what they are expected to under various conditions and also ensure added features do not break expected behaviour.
-
Support for the Obelisk DCR1 has been added. dcrpool currently supports all publicly available ASICs for decred at the moment.
-
--maxconnectionsperhost
configuration option can now be used to limit the number of connections the pool will accept from a single host, the default limit is a 100 clients. -
Work is now delivered via dcrd's notifywork which sends work notifications which is more efficient than polling the
getwork
rpc. -
Timestamp-rolled work support has been added to distribute updated work miners stall on work submissions.
-
Added
--walletaccount
config option. -
GUI caching and cache update signalling have been added to reduce round-trips to the database for requested data and efficiently refresh the the data cached.
-
Improved test harness by adding configurable number of mining clients.
-
Mined work, reward quota, pending and archived payment requests by the GUI are now paginated.
-
The pool now utiilizes transaction confirmation notification streams to ensure coinbases are spendable before the pool utilizes them in payout transaction.
-
The allowed pool fee range has been updated to between 0.2% and 5%, bounds inclusive.
-
Deprecated
--minpayment
&--maxtxfeereserve
in favour of an improved payment process which sources tx fees from the receiving account and does not generate change.
dcrpool v1.1.0 RC3
Breaking Changes.
dcrpool v1.1.0 introduces breaking changes to the configuration, existing configurations will have to be updated accordingly. The breaking
changes made are:
-
--backuppass
has been renamed to--adminpass
. -
--lastnperiod
and--maxgentime
are now of typetime.Duration
.
Bug Fixes.
The notable bug fixes in this release include:
-
Data access issues related to using raw db values outside of their associated database transactions have been resolved.
-
Race conditions associated with listing websocket clients and updating the GUI have been resolved.
-
Panics associated with the cpu miner in the testing harness have been resolved.
-
A case where a client stalling on work does not receive timestamp-rolled work has been resolved.
-
Panics associated with logging when the logger has not been initialized have been resolved.
-
A PPS bug where shares generated outside the range of the confirmed work are used in generating payments has been fixed.
Improvements.
The notable infrastructure and interface improvements include:
-
UI/UX has been refreshed with the aim of simplifying usage patterns.
-
Reworked payments processing by having payments track the coinbases being sourced from as well as ensuring payouts are made immediately when the associated coinbase is mature and spendable. For this reason, payout transactions do not return change.
-
Test coverage for pool components have been improved to ensure the
components do what they are expected to under various conditions and also
ensure added features do not break expected behaviour. -
Support for the Obelisk DCR1 has been added. dcrpool currently supports all publicly available ASICs for decred at the moment.
-
--maxconnectionsperhost
configuration option can now be used to limit the number of connections the pool will accept from a single host, the default limit is a 100 clients. -
Work is now delivered via dcrd's notifywork which sends work notifications which is more efficient than polling the
getwork
rpc. -
Timestamp-rolled work support has been added to distribute updated work
miners stall on work submissions. -
Added
--walletaccount
config option. -
GUI caching and cache update signalling have been added to reduce round-trips to the database for requested data and efficiently refresh the the data cached.
-
Improved test harness by adding configurable number of mining clients.
-
Mined work, reward quota, pending and archived payment requests by the GUI are now paginated.
-
The pool now utiilizes transaction confirmation notification streams to ensure coinbases are spendable before the pool utilizes them in payout transaction.
-
The allowed pool fee range has been updated to between 0.2% and 5%, bounds inclusive.
-
Deprecated
--minpayment
&--maxtxfeereserve
in favour of an improved payment process which sources tx fees from the receiving account and does not generate change.
dcrpool v1.1.0 RC2
Breaking Changes.
dcrpool v1.1.0 introduces breaking changes to the configuration, existing configurations will have to be updated accordingly. The breaking
changes made are:
-
--backuppass
has been renamed to--adminpass
. -
--lastnperiod
and--maxgentime
are now of typetime.Duration
.
Bug Fixes.
The notable bug fixes in this release include:
-
Data access issues related to using raw db values outside of their associated database transactions have been resolved.
-
Race conditions associated with listing websocket clients and updating the GUI have been resolved.
-
Panics associated with the cpu miner in the testing harness have been resolved.
-
A case where a client stalling on work does not receive timestamp-rolled work has been resolved.
-
Panics associated with logging when the logger has not been initialized have been resolved.
-
A PPS bug where shares generated outside the range of the confirmed work are used in generating payments has been fixed.
Improvements.
The notable infrastructure and interface improvements include:
-
UI/UX has been refreshed with the aim of simplifying usage patterns.
-
Reworked payments processing by having payments track the coinbases being sourced from as well as ensuring payouts are made immediately when the associated coinbase is mature and spendable. For this reason, payout transactions do not return change.
-
Test coverage for pool components have been improved to ensure the
components do what they are expected to under various conditions and also
ensure added features do not break expected behaviour. -
Support for the Obelisk DCR1 has been added. dcrpool currently supports all publicly available ASICs for decred at the moment.
-
--maxconnectionsperhost
configuration option can now be used to limit the number of connections the pool will accept from a single host, the default limit is a 100 clients. -
Work is now delivered via dcrd's notifywork which sends work notifications which is more efficient than polling the
getwork
rpc. -
Timestamp-rolled work support has been added to distribute updated work
miners stall on work submissions. -
Added
--walletaccount
config option. -
GUI caching and cache update signalling have been added to reduce round-trips to the database for requested data and efficiently refresh the the data cached.
-
Improved test harness by adding configurable number of mining clients.
-
Mined work, reward quota, pending and archived payment requests by the GUI are now paginated.
-
The pool now utiilizes transaction confirmation notification streams to ensure coinbases are spendable before the pool utilizes them in payout transaction.
-
The allowed pool fee range has been updated to between 0.2% and 5%, bounds inclusive.
-
Deprecated
--minpayment
&--maxtxfeereserve
in favour of an improved payment process which sources tx fees from the receiving account and does not generate change.
dcrpool v1.1.0 RC1
Breaking Changes.
dcrpool v1.1.0 introduces breaking changes to the configuration, existing configurations will have to be updated accordingly. The breaking
changes made are:
-
--backuppass
has been renamed to--adminpass
. -
--lastnperiod
and--maxgentime
are now of typetime.Duration
.
Bug Fixes.
The notable bug fixes in this release include:
-
Data access issues related to using raw db values outside of their associated database transactions have been resolved.
-
Race conditions associated with listing websocket clients and updating the GUI have been resolved.
-
Panics associated with the cpu miner in the testing harness have been resolved.
-
A case where a client stalling on work does not receive timestamp-rolled work has been resolved.
-
Panics associated with logging when the logger has not been initialized have been resolved.
-
A PPS bug where shares generated outside the range of the confirmed work are used in generating payments has been fixed.
Improvements.
The notable infrastructure and interface improvements include:
-
UI/UX has been refreshed with the aim of simplifying usage patterns.
-
Reworked payments processing by having payments track the coinbases being sourced from as well as ensuring payouts are made immediately when the associated coinbase is mature and spendable. For this reason, payout transactions do not return change.
-
Test coverage for pool components have been improved to ensure the
components do what they are expected to under various conditions and also
ensure added features do not break expected behaviour. -
Support for the Obelisk DCR1 has been added. dcrpool currently supports all publicly available ASICs for decred at the moment.
-
--maxconnectionsperhost
configuration option can now be used to limit the number of connections the pool will accept from a single host, the default limit is a 100 clients. -
Work is now delivered via dcrd's notifywork which sends work notifications which is more efficient than polling the
getwork
rpc. -
Timestamp-rolled work support has been added to distribute updated work
miners stall on work submissions. -
Added
--walletaccount
config option. -
GUI caching and cache update signalling have been added to reduce round-trips to the database for requested data and efficiently refresh the the data cached.
-
Improved test harness by adding configurable number of mining clients.
-
Mined work, reward quota, pending and archived payment requests by the GUI are now paginated.
-
The pool now utiilizes transaction confirmation notification streams to ensure coinbases are spendable before the pool utilizes them in payout transaction.
-
The allowed pool fee range has been updated to between 0.2% and 5%, bounds inclusive.
-
Deprecated
--minpayment
&--maxtxfeereserve
in favour of an improved payment process which sources tx fees from the receiving account and does not generate change.
dcrpool v1.0.0
Initial dcrpool release, refer to the README for supported miners, setup and config options.