Luke Dashjr [Tue, 20 Nov 2012 04:06:57 +0000 (04:06 +0000)]
Pass time rules from upstream to GBT clients
Ported from jsonrpc_getmemorypool diff
Luke Dashjr [Tue, 20 Nov 2012 03:58:18 +0000 (03:58 +0000)]
Support for upstream GBT workids
Luke Dashjr [Tue, 20 Nov 2012 03:49:25 +0000 (03:49 +0000)]
Support for submit/coinbase on upstream submissions
Luke Dashjr [Tue, 20 Nov 2012 02:07:08 +0000 (02:07 +0000)]
Bugfix: Only prepend height to block if it isn't already there
Luke Dashjr [Mon, 19 Nov 2012 23:39:21 +0000 (23:39 +0000)]
Bugfix: getwork needs to ignore extra data (in this case, from dynamic targetting)
Luke Dashjr [Mon, 19 Nov 2012 23:34:46 +0000 (23:34 +0000)]
Merge branch 'master' into loop
Conflicts:
eloipool.py
Luke Dashjr [Mon, 19 Nov 2012 23:33:27 +0000 (23:33 +0000)]
Merge branch 'bugfix_rejreasondelayed'
Conflicts:
eloipool.py
Luke Dashjr [Mon, 19 Nov 2012 23:32:28 +0000 (23:32 +0000)]
Bugfix: Upstream reject reason variable name consistency
Luke Dashjr [Mon, 19 Nov 2012 23:29:55 +0000 (23:29 +0000)]
Accept upstream coinbasetxn in BIP 22's standard JSON Object format
Luke Dashjr [Mon, 19 Nov 2012 23:27:06 +0000 (23:27 +0000)]
Bugfix: Abstract and correct coinbase-to-worklogindex mapping
Luke Dashjr [Mon, 19 Nov 2012 21:36:19 +0000 (21:36 +0000)]
Tree-Merge branch 'master' into loop
Conflicts:
eloipool.py
jsonrpc_getwork.py
merklemaker.py
Luke Dashjr [Mon, 19 Nov 2012 21:34:35 +0000 (21:34 +0000)]
Move X-Roll-NTime header to jsonrpc_getwork module
Luke Dashjr [Mon, 19 Nov 2012 21:31:36 +0000 (21:31 +0000)]
Support submitting upstream via old BIP 22 draft getmemorypool
This is mainly to reduce differences between master and loop branch
Luke Dashjr [Mon, 14 May 2012 01:43:30 +0000 (01:43 +0000)]
Set bitcoinrpc User-Agent, used for talking to upstream server
Luke Dashjr [Mon, 19 Nov 2012 20:35:00 +0000 (20:35 +0000)]
Bugfix: Remember to log delayed share even if upstream submission has to give up
Luke Dashjr [Mon, 19 Nov 2012 20:31:56 +0000 (20:31 +0000)]
Merge commit '8caa4e1'
Conflicts:
eloipool.py
Luke Dashjr [Mon, 19 Nov 2012 20:20:25 +0000 (20:20 +0000)]
Tree-Merge commit '7cd1c63'
Conflicts:
eloipool.py
merklemaker.py
Luke Dashjr [Mon, 19 Nov 2012 20:19:39 +0000 (20:19 +0000)]
Merge commit '84b5cb1'
Conflicts:
eloipool.py
Luke Dashjr [Mon, 19 Nov 2012 16:55:00 +0000 (16:55 +0000)]
Merge branch 'master' into loop
Conflicts:
eloipool.py
jsonrpc_getwork.py
merklemaker.py
Luke Dashjr [Mon, 19 Nov 2012 15:47:21 +0000 (15:47 +0000)]
Merge branch 'netsrv_mt_sch'
Luke Dashjr [Mon, 19 Nov 2012 15:30:35 +0000 (15:30 +0000)]
NetworkServer: Bugfix: Only hold schedule lock as needed, in case task itself manipulates schedule
Luke Dashjr [Mon, 19 Nov 2012 14:30:02 +0000 (14:30 +0000)]
Merge branch 'netsrv_mt_sch'
Luke Dashjr [Mon, 19 Nov 2012 14:29:53 +0000 (14:29 +0000)]
NetworkServer: Optional support for thread-safe scheduler, needed to cleanly maintain StratumServer's update task
Luke Dashjr [Mon, 19 Nov 2012 14:08:53 +0000 (14:08 +0000)]
Merge branch 'calc_clear_subsidy'
Luke Dashjr [Mon, 19 Nov 2012 14:08:26 +0000 (14:08 +0000)]
Bugfix: Create new clear coinbase transaction for each block height, to properly handle subsidy halving
Luke Dashjr [Mon, 19 Nov 2012 14:05:07 +0000 (14:05 +0000)]
Merge branch 'bugfix_MRD_CV'
Conflicts:
merklemaker.py
Luke Dashjr [Mon, 19 Nov 2012 14:04:13 +0000 (14:04 +0000)]
Bugfix: Use a condition variable to avoid getMC from returning invalid data during odd unready circumstances
Luke Dashjr [Mon, 19 Nov 2012 13:29:58 +0000 (13:29 +0000)]
Merge branch 'bugfix_switch_height'
Luke Dashjr [Mon, 19 Nov 2012 13:29:51 +0000 (13:29 +0000)]
Bugfix: Switch clear merkle tree based on correct height comparison
Luke Dashjr [Tue, 13 Nov 2012 02:00:05 +0000 (02:00 +0000)]
StratumServer: Only update job as necessary for avoiding expiration (22 second grace time for miners)
Luke Dashjr [Mon, 12 Nov 2012 01:42:53 +0000 (01:42 +0000)]
Merge branch 'bugfix_close_rmsch'
Conflicts:
jsonrpcserver.py
Luke Dashjr [Mon, 12 Nov 2012 01:40:38 +0000 (01:40 +0000)]
Bugfix: Clear SocketHandler._Task when removing it
Apparently this alone is sufficient to prevent the GC from releasing it
Luke Dashjr [Mon, 12 Nov 2012 00:44:47 +0000 (00:44 +0000)]
Bugfix: Need to clear task on close, even when initiated on our end (failure to do so prevents the SocketHandler from being garbage collected)
Luke Dashjr [Sun, 11 Nov 2012 23:29:31 +0000 (23:29 +0000)]
Merge branch 'bugfix_del_connections'
Luke Dashjr [Sun, 11 Nov 2012 23:29:21 +0000 (23:29 +0000)]
Bugfix: NetworkHandler: Delete server.connections entry when we close the connection, not just when the remote host does
Luke Dashjr [Sat, 10 Nov 2012 05:01:08 +0000 (05:01 +0000)]
StratumServer: Include tracebacks with errors, and silence get_transactions KeyError in console
Luke Dashjr [Sat, 10 Nov 2012 04:25:35 +0000 (04:25 +0000)]
Silence WorkLogPruner debug by default
Luke Dashjr [Sat, 10 Nov 2012 04:25:02 +0000 (04:25 +0000)]
Merge branch 'stratum'
Luke Dashjr [Sat, 10 Nov 2012 03:58:06 +0000 (03:58 +0000)]
Bugfix: Correct stratum sendJob check for default target
Luke Dashjr [Sat, 10 Nov 2012 03:40:51 +0000 (03:40 +0000)]
Bugfix: StratumServer: Don't force bdiff on targets
Luke Dashjr [Sat, 10 Nov 2012 02:45:10 +0000 (02:45 +0000)]
Bugfix: Missing stratum imports and proper way to get targetting username
Luke Dashjr [Sat, 10 Nov 2012 02:37:24 +0000 (02:37 +0000)]
Merge commit '2446b63' into stratum
Luke Dashjr [Sat, 10 Nov 2012 02:35:54 +0000 (02:35 +0000)]
Bugfix: HTTPServer: Unconditionally clear incoming data buffer on reset_request
Luke Dashjr [Sat, 10 Nov 2012 02:24:25 +0000 (02:24 +0000)]
Disable stratum server when the coinbase is too big for it, and automatically reenable when it fits again
Luke Dashjr [Sat, 10 Nov 2012 01:55:33 +0000 (01:55 +0000)]
Reject stratum submissions from unauthorized workers
Luke Dashjr [Sat, 10 Nov 2012 01:53:00 +0000 (01:53 +0000)]
Implement stratum mining.get_transactions method
Luke Dashjr [Sat, 10 Nov 2012 01:34:30 +0000 (01:34 +0000)]
Support for dynamic targetting on stratum
Luke Dashjr [Fri, 9 Nov 2012 20:09:59 +0000 (20:09 +0000)]
Return integers from target2biff when exact
Luke Dashjr [Fri, 9 Nov 2012 19:18:13 +0000 (19:18 +0000)]
Support overriding configured DynamicTargetting mode for individual getTarget calls
Luke Dashjr [Thu, 8 Nov 2012 04:45:25 +0000 (04:45 +0000)]
Add DynamicTargetting mode 3, rounding to nearest bdiff
Luke Dashjr [Thu, 8 Nov 2012 04:42:19 +0000 (04:42 +0000)]
Add target2bdiff sharelog function
Luke Dashjr [Thu, 8 Nov 2012 04:19:00 +0000 (04:19 +0000)]
Bugfix: Properly handle "continue waiting" condition in longpolls
Luke Dashjr [Thu, 8 Nov 2012 04:07:55 +0000 (04:07 +0000)]
Make StratumServer quieter, since it is updating more regularly
Luke Dashjr [Thu, 8 Nov 2012 04:00:47 +0000 (04:00 +0000)]
StratumServer: Update job every 30 seconds at least
Luke Dashjr [Wed, 7 Nov 2012 23:06:23 +0000 (23:06 +0000)]
Initial support for stratum miners
Luke Dashjr [Sat, 7 Apr 2012 21:08:22 +0000 (17:08 -0400)]
Bugfix: Ensure sharelogging.sql sticks to a single thread for actual db access
At least sqlite3 isn't threadsafe
Luke Dashjr [Tue, 6 Nov 2012 03:53:57 +0000 (03:53 +0000)]
Move handle_readbuf from HTTPHandler to SocketHandler
Luke Dashjr [Mon, 5 Nov 2012 14:28:09 +0000 (14:28 +0000)]
Always send clear transactions for template work, during new block longpoll and if user has no work yet
Jason Hughes [Mon, 5 Nov 2012 14:29:39 +0000 (14:29 +0000)]
Include issuetime key in share data, to allow recording the time a work was issued
Luke Dashjr [Tue, 2 Oct 2012 18:25:39 +0000 (18:25 +0000)]
Merge branch 'bugfix_gbt_submit'
Luke Dashjr [Tue, 2 Oct 2012 18:25:36 +0000 (18:25 +0000)]
Bugfix: "now" doesn't exist in this scope
Luke Dashjr [Tue, 2 Oct 2012 18:25:00 +0000 (18:25 +0000)]
Bugfix: Fix other submission inconsistencies
Luke Dashjr [Tue, 2 Oct 2012 17:27:44 +0000 (17:27 +0000)]
Merge branch 'bugfix_gbt_submit'
Luke Dashjr [Tue, 2 Oct 2012 17:27:37 +0000 (17:27 +0000)]
Bugfix: For "submit/coinbase" abbreviated shares, provide the transactions needed upstream
Luke Dashjr [Tue, 2 Oct 2012 17:10:12 +0000 (17:10 +0000)]
Store yet more details (failure time and exceptions) on upstream submission failures
Luke Dashjr [Fri, 28 Sep 2012 01:47:11 +0000 (01:47 +0000)]
Store information on upstream block submission failures in new RBFs array
Luke Dashjr [Fri, 28 Sep 2012 01:43:29 +0000 (01:43 +0000)]
Store share and wld data for blocks in RBDs
Luke Dashjr [Sun, 16 Sep 2012 03:04:10 +0000 (03:04 +0000)]
Merge branch 'bugfix_predyntarget_jobs'
Luke Dashjr [Sun, 16 Sep 2012 03:03:52 +0000 (03:03 +0000)]
Bugfix: Tolerate pre-dyntarget jobs at the configured default target
Luke Dashjr [Sun, 16 Sep 2012 02:54:01 +0000 (02:54 +0000)]
Merge branch 'gzip'
Luke Dashjr [Sun, 16 Sep 2012 02:35:51 +0000 (02:35 +0000)]
HTTPServer: Implement gzip Content-Encoding for simple responses
Luke Dashjr [Thu, 13 Sep 2012 09:03:36 +0000 (09:03 +0000)]
Merge branch 'dyntarget'
Conflicts:
eloipool.py
Luke Dashjr [Tue, 11 Sep 2012 12:22:19 +0000 (12:22 +0000)]
Merge branch 'bip23_submitcbonly'
Luke Dashjr [Tue, 11 Sep 2012 12:21:47 +0000 (12:21 +0000)]
Support for BIP 23 "submit/coinbase" abbreviation
Luke Dashjr [Mon, 10 Sep 2012 21:33:03 +0000 (21:33 +0000)]
Merge branch 'up_bip23_propose'
Luke Dashjr [Mon, 10 Sep 2012 21:23:41 +0000 (21:23 +0000)]
Propose new blocks with upstream server when it supports BIP 23 Block Proposal
Luke Dashjr [Tue, 4 Sep 2012 03:27:36 +0000 (03:27 +0000)]
DynamicTargetWindow option, to allow configuring number of seconds for hashrate measurements
Luke Dashjr [Tue, 4 Sep 2012 02:55:07 +0000 (02:55 +0000)]
Debug print pdiff with retargetting
Luke Dashjr [Sun, 2 Sep 2012 05:19:37 +0000 (05:19 +0000)]
Merge branch 'master' into loop
Conflicts:
eloipool.py
merklemaker.py
Luke Dashjr [Sun, 2 Sep 2012 04:40:05 +0000 (04:40 +0000)]
Merge branch 'worklog_prune'
Luke Dashjr [Sun, 2 Sep 2012 04:36:20 +0000 (04:36 +0000)]
WorkLog pruner thread, to clean up old work even when blocks aren't being found
Luke Dashjr [Sun, 2 Sep 2012 04:07:55 +0000 (04:07 +0000)]
Share logging: New target2pdiff function
Usage: {target2pdiff(target)}
Luke Dashjr [Sun, 2 Sep 2012 03:41:13 +0000 (03:41 +0000)]
Implement power-of-two dynamic targetting
Luke Dashjr [Sun, 2 Sep 2012 03:40:55 +0000 (03:40 +0000)]
Bugfix: Fix some missing None handling
Luke Dashjr [Sun, 2 Sep 2012 03:05:16 +0000 (03:05 +0000)]
Never adjust the share target below the network target
Luke Dashjr [Sun, 2 Sep 2012 02:46:07 +0000 (02:46 +0000)]
Bugfix: Non-dynamic target now works again, as well as restarts when dynamic is enabled
Luke Dashjr [Sat, 1 Sep 2012 22:59:24 +0000 (22:59 +0000)]
Beginnings of dynamic targetting support
Only completely variable targets are supported for now.
Luke Dashjr [Sat, 1 Sep 2012 23:01:32 +0000 (23:01 +0000)]
Merge branch 'bugfix_hicb_getMC'
Luke Dashjr [Sat, 1 Sep 2012 23:01:22 +0000 (23:01 +0000)]
Bugfix: getBlockTemplate: Get work identifier after height-in-coinbase
Luke Dashjr [Sat, 1 Sep 2012 10:07:24 +0000 (10:07 +0000)]
Merge branch 'bip23_basic'
Luke Dashjr [Sat, 1 Sep 2012 10:07:00 +0000 (10:07 +0000)]
Compatibility with "BIP 23 Basic Pool Extensions" by adding the expires key to templates
Luke Dashjr [Sat, 1 Sep 2012 10:02:32 +0000 (10:02 +0000)]
Merge branch 'bip22'
Luke Dashjr [Sat, 1 Sep 2012 10:02:22 +0000 (10:02 +0000)]
Bugfix: getblocktemplate: coinbasetxn is an Object
Luke Dashjr [Sat, 1 Sep 2012 09:55:10 +0000 (09:55 +0000)]
Merge branch 'bip22'
Luke Dashjr [Sat, 1 Sep 2012 09:54:17 +0000 (09:54 +0000)]
Merge branch 'bugfix_hicb_getMC'
Luke Dashjr [Sat, 1 Sep 2012 09:54:11 +0000 (09:54 +0000)]
Bugfix: checkShare: Check for work identifier after skipping over height-in-coinbase
Luke Dashjr [Sat, 1 Sep 2012 09:10:18 +0000 (09:10 +0000)]
getblocktemplate: Initial server-side implementation for current BIP 22
Compatibility with old draft retained with old jsonrpc_getmemorypool module, which is NOT enabled by default.
Luke Dashjr [Sat, 1 Sep 2012 08:48:11 +0000 (08:48 +0000)]
Update to use current BIP22 method names for upstream
getblocktemplate + submitblock
Backward compatibility with earlier BIP22 drafts and bitcoind getmemorypool is retained for now
Luke Dashjr [Sat, 1 Sep 2012 09:23:32 +0000 (09:23 +0000)]
Merge branch 'bugfix_hicb_getMC'
Luke Dashjr [Sat, 1 Sep 2012 09:22:51 +0000 (09:22 +0000)]
Bugfix: Adapt getMC to height in makeCoinbase
Height still needs to be conveyed to finish BIP 34 compliance