bitcoin:eloipool.git
8 years agoBugfix: Stratum: Replies should not be sent if request id is null
Luke Dashjr [Tue, 10 Sep 2013 05:01:22 +0000 (05:01 +0000)]
Bugfix: Stratum: Replies should not be sent if request id is null

9 years agoInitial support for stratum miners
Luke Dashjr [Wed, 7 Nov 2012 23:06:23 +0000 (23:06 +0000)]
Initial support for stratum miners

9 years agoBugfix: Ensure sharelogging.sql sticks to a single thread for actual db access
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

9 years agoMove handle_readbuf from HTTPHandler to SocketHandler
Luke Dashjr [Tue, 6 Nov 2012 03:53:57 +0000 (03:53 +0000)]
Move handle_readbuf from HTTPHandler to SocketHandler

9 years agoAlways send clear transactions for template work, during new block longpoll and if...
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

9 years agoInclude issuetime key in share data, to allow recording the time a work was issued
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

9 years agoMerge branch 'bugfix_gbt_submit'
Luke Dashjr [Tue, 2 Oct 2012 18:25:39 +0000 (18:25 +0000)]
Merge branch 'bugfix_gbt_submit'

9 years agoBugfix: "now" doesn't exist in this scope
Luke Dashjr [Tue, 2 Oct 2012 18:25:36 +0000 (18:25 +0000)]
Bugfix: "now" doesn't exist in this scope

9 years agoBugfix: Fix other submission inconsistencies
Luke Dashjr [Tue, 2 Oct 2012 18:25:00 +0000 (18:25 +0000)]
Bugfix: Fix other submission inconsistencies

9 years agoMerge branch 'bugfix_gbt_submit'
Luke Dashjr [Tue, 2 Oct 2012 17:27:44 +0000 (17:27 +0000)]
Merge branch 'bugfix_gbt_submit'

9 years agoBugfix: For "submit/coinbase" abbreviated shares, provide the transactions needed...
Luke Dashjr [Tue, 2 Oct 2012 17:27:37 +0000 (17:27 +0000)]
Bugfix: For "submit/coinbase" abbreviated shares, provide the transactions needed upstream

9 years agoStore yet more details (failure time and exceptions) on upstream submission failures
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

9 years agoStore information on upstream block submission failures in new RBFs array
Luke Dashjr [Fri, 28 Sep 2012 01:47:11 +0000 (01:47 +0000)]
Store information on upstream block submission failures in new RBFs array

9 years agoStore share and wld data for blocks in RBDs
Luke Dashjr [Fri, 28 Sep 2012 01:43:29 +0000 (01:43 +0000)]
Store share and wld data for blocks in RBDs

9 years agoMerge branch 'bugfix_predyntarget_jobs'
Luke Dashjr [Sun, 16 Sep 2012 03:04:10 +0000 (03:04 +0000)]
Merge branch 'bugfix_predyntarget_jobs'

9 years agoBugfix: Tolerate pre-dyntarget jobs at the configured default target
Luke Dashjr [Sun, 16 Sep 2012 03:03:52 +0000 (03:03 +0000)]
Bugfix: Tolerate pre-dyntarget jobs at the configured default target

9 years agoMerge branch 'gzip'
Luke Dashjr [Sun, 16 Sep 2012 02:54:01 +0000 (02:54 +0000)]
Merge branch 'gzip'

9 years agoHTTPServer: Implement gzip Content-Encoding for simple responses
Luke Dashjr [Sun, 16 Sep 2012 02:35:51 +0000 (02:35 +0000)]
HTTPServer: Implement gzip Content-Encoding for simple responses

9 years agoMerge branch 'dyntarget'
Luke Dashjr [Thu, 13 Sep 2012 09:03:36 +0000 (09:03 +0000)]
Merge branch 'dyntarget'

Conflicts:
eloipool.py

9 years agoMerge branch 'bip23_submitcbonly'
Luke Dashjr [Tue, 11 Sep 2012 12:22:19 +0000 (12:22 +0000)]
Merge branch 'bip23_submitcbonly'

9 years agoSupport for BIP 23 "submit/coinbase" abbreviation
Luke Dashjr [Tue, 11 Sep 2012 12:21:47 +0000 (12:21 +0000)]
Support for BIP 23 "submit/coinbase" abbreviation

9 years agoMerge branch 'up_bip23_propose'
Luke Dashjr [Mon, 10 Sep 2012 21:33:03 +0000 (21:33 +0000)]
Merge branch 'up_bip23_propose'

9 years agoPropose new blocks with upstream server when it supports BIP 23 Block Proposal
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

9 years agoDynamicTargetWindow option, to allow configuring number of seconds for hashrate measu...
Luke Dashjr [Tue, 4 Sep 2012 03:27:36 +0000 (03:27 +0000)]
DynamicTargetWindow option, to allow configuring number of seconds for hashrate measurements

9 years agoDebug print pdiff with retargetting
Luke Dashjr [Tue, 4 Sep 2012 02:55:07 +0000 (02:55 +0000)]
Debug print pdiff with retargetting

9 years agoMerge branch 'worklog_prune'
Luke Dashjr [Sun, 2 Sep 2012 04:40:05 +0000 (04:40 +0000)]
Merge branch 'worklog_prune'

9 years agoWorkLog pruner thread, to clean up old work even when blocks aren't being found
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

9 years agoShare logging: New target2pdiff function
Luke Dashjr [Sun, 2 Sep 2012 04:07:55 +0000 (04:07 +0000)]
Share logging: New target2pdiff function

Usage: {target2pdiff(target)}

9 years agoImplement power-of-two dynamic targetting
Luke Dashjr [Sun, 2 Sep 2012 03:41:13 +0000 (03:41 +0000)]
Implement power-of-two dynamic targetting

9 years agoBugfix: Fix some missing None handling
Luke Dashjr [Sun, 2 Sep 2012 03:40:55 +0000 (03:40 +0000)]
Bugfix: Fix some missing None handling

9 years agoNever adjust the share target below the network target
Luke Dashjr [Sun, 2 Sep 2012 03:05:16 +0000 (03:05 +0000)]
Never adjust the share target below the network target

9 years agoBugfix: Non-dynamic target now works again, as well as restarts when dynamic is enabled
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

9 years agoBeginnings of dynamic targetting support
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.

9 years agoMerge branch 'bugfix_hicb_getMC'
Luke Dashjr [Sat, 1 Sep 2012 23:01:32 +0000 (23:01 +0000)]
Merge branch 'bugfix_hicb_getMC'

9 years agoBugfix: getBlockTemplate: Get work identifier after height-in-coinbase
Luke Dashjr [Sat, 1 Sep 2012 23:01:22 +0000 (23:01 +0000)]
Bugfix: getBlockTemplate: Get work identifier after height-in-coinbase

9 years agoMerge branch 'bip23_basic'
Luke Dashjr [Sat, 1 Sep 2012 10:07:24 +0000 (10:07 +0000)]
Merge branch 'bip23_basic'

9 years agoCompatibility with "BIP 23 Basic Pool Extensions" by adding the expires key to templates
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

9 years agoMerge branch 'bip22'
Luke Dashjr [Sat, 1 Sep 2012 10:02:32 +0000 (10:02 +0000)]
Merge branch 'bip22'

9 years agoBugfix: getblocktemplate: coinbasetxn is an Object
Luke Dashjr [Sat, 1 Sep 2012 10:02:22 +0000 (10:02 +0000)]
Bugfix: getblocktemplate: coinbasetxn is an Object

9 years agoMerge branch 'bip22'
Luke Dashjr [Sat, 1 Sep 2012 09:55:10 +0000 (09:55 +0000)]
Merge branch 'bip22'

9 years agoMerge branch 'bugfix_hicb_getMC'
Luke Dashjr [Sat, 1 Sep 2012 09:54:17 +0000 (09:54 +0000)]
Merge branch 'bugfix_hicb_getMC'

9 years agoBugfix: checkShare: Check for work identifier after skipping over height-in-coinbase
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

9 years agogetblocktemplate: Initial server-side implementation for current BIP 22
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.

9 years agoUpdate to use current BIP22 method names for upstream
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

9 years agoMerge branch 'bugfix_hicb_getMC'
Luke Dashjr [Sat, 1 Sep 2012 09:23:32 +0000 (09:23 +0000)]
Merge branch 'bugfix_hicb_getMC'

9 years agoBugfix: Adapt getMC to height in makeCoinbase
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

9 years agoMerge branch 'cve-2012-2459'
Luke Dashjr [Sat, 1 Sep 2012 05:23:14 +0000 (05:23 +0000)]
Merge branch 'cve-2012-2459'

9 years agoNow that CVE-2012-2459 is publicly disclosed, document "Power Of Two" feature properly
Luke Dashjr [Sat, 1 Sep 2012 05:22:34 +0000 (05:22 +0000)]
Now that CVE-2012-2459 is publicly disclosed, document "Power Of Two" feature properly

9 years agoAvoid flooding warnings under any circumstances
Luke Dashjr [Sat, 1 Sep 2012 03:20:08 +0000 (03:20 +0000)]
Avoid flooding warnings under any circumstances

9 years agoMerge branch 'coinbase_height'
Luke Dashjr [Sat, 1 Sep 2012 02:36:56 +0000 (02:36 +0000)]
Merge branch 'coinbase_height'

9 years agoEncode block height in coinbases using the minimal script encoding
Luke Dashjr [Sat, 1 Sep 2012 02:19:03 +0000 (02:19 +0000)]
Encode block height in coinbases using the minimal script encoding

Required by BIP 34 change

9 years agoClear merkleroots only after changing currentBlock, to avoid races
Luke Dashjr [Fri, 31 Aug 2012 07:50:30 +0000 (07:50 +0000)]
Clear merkleroots only after changing currentBlock, to avoid races

9 years agoBugfix: Avoid race conditions in merkleroot creation
Luke Dashjr [Fri, 31 Aug 2012 07:36:47 +0000 (07:36 +0000)]
Bugfix: Avoid race conditions in merkleroot creation

9 years agoHandle premature merkleMaker.blockUpdate properly
Luke Dashjr [Fri, 31 Aug 2012 07:36:18 +0000 (07:36 +0000)]
Handle premature merkleMaker.blockUpdate properly

9 years agoMerge branch 'bugfix_hicb' into coinbase_height
Luke Dashjr [Fri, 31 Aug 2012 07:00:12 +0000 (07:00 +0000)]
Merge branch 'bugfix_hicb' into coinbase_height

9 years agoBugfix: Restore change to merkleMaker.currentBlock lost in merge
Luke Dashjr [Fri, 31 Aug 2012 07:00:04 +0000 (07:00 +0000)]
Bugfix: Restore change to merkleMaker.currentBlock lost in merge

9 years agoDump block payloads in hex
Luke Dashjr [Fri, 31 Aug 2012 06:50:52 +0000 (06:50 +0000)]
Dump block payloads in hex

9 years agoUpdate block version to 2, but continue accepting version 1 for shares
Luke Dashjr [Fri, 31 Aug 2012 06:49:26 +0000 (06:49 +0000)]
Update block version to 2, but continue accepting version 1 for shares

9 years agoMerge branch 'master' into coinbase_height
Luke Dashjr [Fri, 31 Aug 2012 02:16:23 +0000 (02:16 +0000)]
Merge branch 'master' into coinbase_height

Conflicts:
merklemaker.py

9 years agoMerge branch 'bugfix_final_init'
Luke Dashjr [Thu, 30 Aug 2012 21:32:45 +0000 (21:32 +0000)]
Merge branch 'bugfix_final_init'

9 years agoBugfix: Split final_init between handler plugins
Luke Dashjr [Thu, 30 Aug 2012 21:32:11 +0000 (21:32 +0000)]
Bugfix: Split final_init between handler plugins

Minor performance impact at startup, but necessary to make it modular again

9 years agoMerge branch 'bugfix_proxy_sharetarget'
Luke Dashjr [Thu, 30 Aug 2012 21:18:26 +0000 (21:18 +0000)]
Merge branch 'bugfix_proxy_sharetarget'

9 years agoBugfix: Define a default ShareTarget
Luke Dashjr [Thu, 30 Aug 2012 21:18:04 +0000 (21:18 +0000)]
Bugfix: Define a default ShareTarget

gmp-proxy doesn't set it

9 years agoAttempt to handle circumstances that leave us without knowing bits
Luke Dashjr [Mon, 20 Feb 2012 21:45:03 +0000 (16:45 -0500)]
Attempt to handle circumstances that leave us without knowing bits

10 years agoMerge branch 'sharetarget'
Luke Dashjr [Mon, 30 Jul 2012 04:07:04 +0000 (04:07 +0000)]
Merge branch 'sharetarget'

10 years agoExpose share target to logger as {target} and {_targethex}
Luke Dashjr [Mon, 30 Jul 2012 03:58:19 +0000 (03:58 +0000)]
Expose share target to logger as {target} and {_targethex}

10 years agoMerge branch 'sharetarget'
Luke Dashjr [Mon, 30 Jul 2012 03:31:46 +0000 (03:31 +0000)]
Merge branch 'sharetarget'

10 years agoconfig.py.example: Suggest pdiff1 for both targets
Luke Dashjr [Mon, 30 Jul 2012 03:31:38 +0000 (03:31 +0000)]
config.py.example: Suggest pdiff1 for both targets

10 years agoMerge branch 'sharetarget'
Luke Dashjr [Sun, 29 Jul 2012 08:23:29 +0000 (08:23 +0000)]
Merge branch 'sharetarget'

10 years agoSupport for share targets higher than pdiff 1
Luke Dashjr [Sun, 29 Jul 2012 08:23:11 +0000 (08:23 +0000)]
Support for share targets higher than pdiff 1

10 years agoSave original getmemorypool response on merkletree objects, for debugging
Luke Dashjr [Sun, 1 Jul 2012 18:54:43 +0000 (18:54 +0000)]
Save original getmemorypool response on merkletree objects, for debugging

10 years agoMerge branch 'bugfix_short_cb'
Luke Dashjr [Thu, 21 Jun 2012 17:49:07 +0000 (17:49 +0000)]
Merge branch 'bugfix_short_cb'

10 years agoBugfix: Solve false-positive bad-cb-flag when coinbase prefix is shorter than flag...
Luke Dashjr [Thu, 21 Jun 2012 17:49:00 +0000 (17:49 +0000)]
Bugfix: Solve false-positive bad-cb-flag when coinbase prefix is shorter than flag being filtered

10 years agoLongpoll tracking by username
Luke Dashjr [Thu, 21 Jun 2012 17:04:05 +0000 (17:04 +0000)]
Longpoll tracking by username

10 years agomerklemaker: APOT test
Luke Dashjr [Fri, 15 Jun 2012 17:35:04 +0000 (17:35 +0000)]
merklemaker: APOT test

10 years agoSome checks to react nicer on second exit()
Luke Dashjr [Thu, 7 Jun 2012 14:25:26 +0000 (14:25 +0000)]
Some checks to react nicer on second exit()

10 years agoMerge branch 'bugfix_gmpproxy_leak'
Luke Dashjr [Fri, 18 May 2012 03:06:23 +0000 (03:06 +0000)]
Merge branch 'bugfix_gmpproxy_leak'

10 years agoBugfix: gmp-proxy: clear jsonrpc_getwork._CheckForDupesHACK on longpoll, to avoid...
Luke Dashjr [Fri, 18 May 2012 03:06:15 +0000 (03:06 +0000)]
Bugfix: gmp-proxy: clear jsonrpc_getwork._CheckForDupesHACK on longpoll, to avoid leaking memory too much

10 years agoMerge branch 'bugfix_gmpp_fwd'
Luke Dashjr [Wed, 16 May 2012 23:54:22 +0000 (23:54 +0000)]
Merge branch 'bugfix_gmpp_fwd'

10 years agoBugfix: Really put TrustedForwarders init in the right place this time
Luke Dashjr [Wed, 16 May 2012 23:54:18 +0000 (23:54 +0000)]
Bugfix: Really put TrustedForwarders init in the right place this time

10 years agoMerge branch 'bugfix_gmpp_fwd'
Luke Dashjr [Wed, 16 May 2012 23:41:17 +0000 (23:41 +0000)]
Merge branch 'bugfix_gmpp_fwd'

10 years agoBugfix: Move TrustedForwarders initialization to NetworkServer constructor
Luke Dashjr [Wed, 16 May 2012 23:41:05 +0000 (23:41 +0000)]
Bugfix: Move TrustedForwarders initialization to NetworkServer constructor

Since it isn't set by gmp-proxy, this errored when clients sent X-Forwarded-For

10 years agoDebugging tools (and checks) for POT
Luke Dashjr [Tue, 15 May 2012 14:52:55 +0000 (14:52 +0000)]
Debugging tools (and checks) for POT

10 years agomerkleMaker: New fee-aware _makeBlockSafe method to enforce safety limits (and Greedy)
Luke Dashjr [Tue, 15 May 2012 06:57:39 +0000 (06:57 +0000)]
merkleMaker: New fee-aware _makeBlockSafe method to enforce safety limits (and Greedy)

10 years agoUse BIP22 "obj" transactions when possible
Luke Dashjr [Mon, 14 May 2012 15:56:15 +0000 (15:56 +0000)]
Use BIP22 "obj" transactions when possible

Backward compatibility with hex-only and gmp_fees retained for now

10 years agoAttempt upstream BIP22 getmemorypool requests
Luke Dashjr [Mon, 14 May 2012 15:15:09 +0000 (15:15 +0000)]
Attempt upstream BIP22 getmemorypool requests

10 years agoBackward-compatible support for new BIP 22 getmemorypool longpolling
Luke Dashjr [Sun, 13 May 2012 15:58:41 +0000 (15:58 +0000)]
Backward-compatible support for new BIP 22 getmemorypool longpolling

10 years agoWait until JSONRPCServer is initialized before starting MerkleMaker, so we can skip...
Luke Dashjr [Sun, 13 May 2012 15:52:14 +0000 (15:52 +0000)]
Wait until JSONRPCServer is initialized before starting MerkleMaker, so we can skip needless checks at runtime

10 years agoMerge branch 'bugfix_check_path'
Luke Dashjr [Sun, 13 May 2012 00:47:50 +0000 (00:47 +0000)]
Merge branch 'bugfix_check_path'

10 years agoBugfix: JSONRPCServer: Check that path is actually bytes before subscripting it
Luke Dashjr [Sun, 13 May 2012 00:47:08 +0000 (00:47 +0000)]
Bugfix: JSONRPCServer: Check that path is actually bytes before subscripting it

It's None when the request was invalid

10 years agoMerge branch 'bugfix_example_ccmd'
Luke Dashjr [Sun, 13 May 2012 00:24:56 +0000 (00:24 +0000)]
Merge branch 'bugfix_example_ccmd'

10 years agoBugfix: config.py.example: example CoinbaserCmd echo needs -e, and doesn't need an...
Luke Dashjr [Sun, 13 May 2012 00:24:47 +0000 (00:24 +0000)]
Bugfix: config.py.example: example CoinbaserCmd echo needs -e, and doesn't need an extra \n on the end

10 years agoMerge branch 'bugfix_notrim'
Luke Dashjr [Fri, 11 May 2012 17:36:24 +0000 (17:36 +0000)]
Merge branch 'bugfix_notrim'

Conflicts:
merklemaker.py

10 years agoJust log an error, rather than make invalid-due-to-missing-fees blocks, when perceive...
Luke Dashjr [Fri, 11 May 2012 17:35:23 +0000 (17:35 +0000)]
Just log an error, rather than make invalid-due-to-missing-fees blocks, when perceived to be over size/sigop limits

10 years agoRaiseRedFlags if upstream rejects a block
Luke Dashjr [Wed, 9 May 2012 21:19:54 +0000 (21:19 +0000)]
RaiseRedFlags if upstream rejects a block

10 years agoMerge branch 'bugfix_thr_sigusr1'
Luke Dashjr [Mon, 7 May 2012 16:35:54 +0000 (16:35 +0000)]
Merge branch 'bugfix_thr_sigusr1'

Conflicts:
eloipool.py

10 years agoBugfix: Use a new thread to handle SIGUSR1, in case the signal handler is called...
Luke Dashjr [Mon, 7 May 2012 16:34:07 +0000 (16:34 +0000)]
Bugfix: Use a new thread to handle SIGUSR1, in case the signal handler is called with locks held

Specifically, flushing stdout uses a lock, and when SIGUSR1 tries to write too it just blocked forever :(

10 years agoNetworkServer: Try to send data immediately
Luke Dashjr [Sun, 6 May 2012 04:45:48 +0000 (04:45 +0000)]
NetworkServer: Try to send data immediately

Since the socket is non-blocking, we should get an instant return at little or no cost, and still leave any excess data for epoll to take care of later

10 years agoMerge branch 'bugfix_sck_nonblock'
Luke Dashjr [Sun, 6 May 2012 04:41:02 +0000 (04:41 +0000)]
Merge branch 'bugfix_sck_nonblock'

10 years agoBugfix: Set actual connection sockets non-blocking
Luke Dashjr [Sun, 6 May 2012 04:39:51 +0000 (04:39 +0000)]
Bugfix: Set actual connection sockets non-blocking

Writing a lot of data at once might block and hold up servicing other connections/events