bitcoin:eloipool.git
9 years agoBugfix: Import traceback for SQL sharelogger
Luke Dashjr [Tue, 26 Mar 2013 16:13:41 +0000 (16:13 +0000)]
Bugfix: Import traceback for SQL sharelogger

10 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

10 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

10 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

10 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

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

10 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

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

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

10 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

10 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

10 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

10 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

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

10 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

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

10 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

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

Conflicts:
eloipool.py

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

10 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

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

10 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

10 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

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

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

10 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

10 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)}

10 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

10 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

10 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

10 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

10 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.

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

10 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

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

10 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

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

10 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

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

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

10 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

10 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.

10 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

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

10 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

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

10 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

10 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

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

10 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

10 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

10 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

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

10 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

10 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

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

10 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

10 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

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

10 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

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

10 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

10 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

10 years agoDon't need all merkleroots to be up-to-date before sending the 2nd longpoll
Luke Dashjr [Sat, 5 May 2012 17:07:18 +0000 (17:07 +0000)]
Don't need all merkleroots to be up-to-date before sending the 2nd longpoll