bitcoin:eloipool.git
9 years agoMerge branch 'arg_config'
Luke Dashjr [Thu, 2 May 2013 23:51:28 +0000 (23:51 +0000)]
Merge branch 'arg_config'

9 years agoBugfix: Avoid trying to decode None objects
Luke Dashjr [Tue, 30 Apr 2013 21:32:26 +0000 (21:32 +0000)]
Bugfix: Avoid trying to decode None objects

9 years agoAdd command-line option --config (-c) for specifying a config to load rather than...
Luke Dashjr [Tue, 30 Apr 2013 21:09:17 +0000 (21:09 +0000)]
Add command-line option --config (-c) for specifying a config to load rather than the default
NOTE: This bumps the required Python version to 3.2

9 years agoAdd userAgent and submitProtocol keys to share objects for logging/statistical purposes
Luke Dashjr [Mon, 29 Apr 2013 00:34:31 +0000 (00:34 +0000)]
Add userAgent and submitProtocol keys to share objects for logging/statistical purposes

9 years agoconfig.py.example: Update UpstreamNetworkId to testnet3
Luke Dashjr [Sat, 20 Apr 2013 00:17:41 +0000 (00:17 +0000)]
config.py.example: Update UpstreamNetworkId to testnet3

9 years agoTrigger merkletree update when block inv received from bitcoin p2p
Luke Dashjr [Fri, 19 Apr 2013 23:52:26 +0000 (23:52 +0000)]
Trigger merkletree update when block inv received from bitcoin p2p

9 years agoMove "submitold" to specific methods
Luke Dashjr [Sat, 6 Apr 2013 21:18:25 +0000 (21:18 +0000)]
Move "submitold" to specific methods

9 years agoNetworkServer: Keep track of when the server was last idle
Luke Dashjr [Sat, 6 Apr 2013 19:01:15 +0000 (19:01 +0000)]
NetworkServer: Keep track of when the server was last idle

9 years agoMerge commit 'e978e43'
Luke Dashjr [Tue, 26 Mar 2013 16:13:54 +0000 (16:13 +0000)]
Merge commit 'e978e43'

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

9 years agoNow that CVE-2012-2459 is fixed on 97% of listening nodes, it should be reasonably...
Luke Dashjr [Sat, 23 Mar 2013 17:33:18 +0000 (17:33 +0000)]
Now that CVE-2012-2459 is fixed on 97% of listening nodes, it should be reasonably safe to make non-POT merkletrees - remove the warning unless POT >= 2

9 years agoconfig.py.example: Note BIP 23 Proposal requirement for TemplateChecks
Luke Dashjr [Mon, 25 Feb 2013 09:09:18 +0000 (09:09 +0000)]
config.py.example: Note BIP 23 Proposal requirement for TemplateChecks

9 years agoMerge commit '9f8d1f5'
Luke Dashjr [Sun, 24 Feb 2013 21:44:38 +0000 (21:44 +0000)]
Merge commit '9f8d1f5'

9 years agoBugfix: Stratum: handle_close is only called when the other end closes the connection...
Luke Dashjr [Sun, 24 Feb 2013 21:44:31 +0000 (21:44 +0000)]
Bugfix: Stratum: handle_close is only called when the other end closes the connection, but we need to clean up _Clients when we close it too

Fixes memory leak of subscribed StratumHandlers that we close

9 years agoMerge commit '826b85a'
Luke Dashjr [Sat, 23 Feb 2013 19:14:21 +0000 (19:14 +0000)]
Merge commit '826b85a'

9 years agoBugfix: Avoid division by zero in case all TemplateChecks error; treat it as a 0...
Luke Dashjr [Sat, 23 Feb 2013 19:14:14 +0000 (19:14 +0000)]
Bugfix: Avoid division by zero in case all TemplateChecks error; treat it as a 0.0 AcceptRatio

9 years agoconfig.py.example: Document importance of commas after single-element lists
Luke Dashjr [Fri, 22 Feb 2013 19:33:16 +0000 (19:33 +0000)]
config.py.example: Document importance of commas after single-element lists

9 years agoMerge branch 'multisource'
Luke Dashjr [Thu, 21 Feb 2013 06:08:25 +0000 (06:08 +0000)]
Merge branch 'multisource'

9 years agoMerkleMaker: Always prefer the highest block from any source
Luke Dashjr [Thu, 21 Feb 2013 06:07:42 +0000 (06:07 +0000)]
MerkleMaker: Always prefer the highest block from any source

This was already necessitated by _ProcessGBT calling updateBlock when it saw a new height (to rush out blank jobs)
Without it, race conditions would result in Eloipool reversing this decision and going back to the old block
This also meant it invalidated and wasted all the longpoll work

9 years agoMerkleMaker: Make code more readable
Luke Dashjr [Thu, 21 Feb 2013 06:06:47 +0000 (06:06 +0000)]
MerkleMaker: Make code more readable

9 years agoMerge commit '047890b'
Luke Dashjr [Thu, 21 Feb 2013 02:43:25 +0000 (02:43 +0000)]
Merge commit '047890b'

9 years agoBugfix: receiveShare: Set rejectReason to "ERROR" if any exception causes checkShare...
Luke Dashjr [Thu, 21 Feb 2013 02:43:16 +0000 (02:43 +0000)]
Bugfix: receiveShare: Set rejectReason to "ERROR" if any exception causes checkShare to abort

9 years agoSupport for BIP 23 "target" request extension
Luke Dashjr [Tue, 19 Feb 2013 20:31:03 +0000 (20:31 +0000)]
Support for BIP 23 "target" request extension

9 years agoStratum: Request and store client versions after authorize
Luke Dashjr [Tue, 19 Feb 2013 20:16:16 +0000 (20:16 +0000)]
Stratum: Request and store client versions after authorize

Can't do it any sooner, since *gminer error if they get anything unexpected during initialization

9 years agoMerge commit 'e27ae49'
Luke Dashjr [Mon, 18 Feb 2013 22:22:37 +0000 (22:22 +0000)]
Merge commit 'e27ae49'

Conflicts:
merklemaker.py

9 years agoBugfix: merkleMaker: When calling from outside, ensure "now" is set
Luke Dashjr [Mon, 18 Feb 2013 22:21:04 +0000 (22:21 +0000)]
Bugfix: merkleMaker: When calling from outside, ensure "now" is set

9 years agoMerge commit '5cfd67a'
Luke Dashjr [Mon, 18 Feb 2013 21:46:47 +0000 (21:46 +0000)]
Merge commit '5cfd67a'

Conflicts:
eloipool.py

9 years agoWorkaround for bug in Python's math.log function
Luke Dashjr [Mon, 18 Feb 2013 21:46:27 +0000 (21:46 +0000)]
Workaround for bug in Python's math.log function

9 years agoMerge commit '2a63a5d'
Luke Dashjr [Mon, 18 Feb 2013 05:14:47 +0000 (05:14 +0000)]
Merge commit '2a63a5d'

9 years agoBugfix: When retrying submissions, add the full server object back in to the list...
Luke Dashjr [Mon, 18 Feb 2013 05:14:40 +0000 (05:14 +0000)]
Bugfix: When retrying submissions, add the full server object back in to the list (not only the URI)

9 years agoLeft-align usernames in TopTargets
Luke Dashjr [Sun, 17 Feb 2013 04:03:06 +0000 (04:03 +0000)]
Left-align usernames in TopTargets

9 years agoMerge commit '73a01ee'
Luke Dashjr [Sun, 17 Feb 2013 03:58:11 +0000 (03:58 +0000)]
Merge commit '73a01ee'

Conflicts:
jsonrpcserver.py

9 years agoBugfix: If epoll errors, events won't be set, so just continue
Luke Dashjr [Sun, 17 Feb 2013 03:57:29 +0000 (03:57 +0000)]
Bugfix: If epoll errors, events won't be set, so just continue

9 years agoUpdate copyrights on code changed this year
Luke Dashjr [Sat, 16 Feb 2013 19:57:37 +0000 (19:57 +0000)]
Update copyrights on code changed this year

9 years agoMerge commit '53913aa'
Luke Dashjr [Sat, 9 Feb 2013 04:41:08 +0000 (04:41 +0000)]
Merge commit '53913aa'

9 years agoBugfix: Handle no-proposal scenario correctly
Luke Dashjr [Sat, 9 Feb 2013 04:41:02 +0000 (04:41 +0000)]
Bugfix: Handle no-proposal scenario correctly

9 years agoMerge commit '16f9d29'
Luke Dashjr [Sat, 9 Feb 2013 04:37:08 +0000 (04:37 +0000)]
Merge commit '16f9d29'

9 years agoBugfix: oMP is not a local variable here anymore
Luke Dashjr [Sat, 9 Feb 2013 04:37:02 +0000 (04:37 +0000)]
Bugfix: oMP is not a local variable here anymore

9 years agoSilence getTarget debug logging by default
Luke Dashjr [Thu, 7 Feb 2013 05:47:59 +0000 (05:47 +0000)]
Silence getTarget debug logging by default

9 years agoTopTargets() CLI command, to show vardiff targets in use
Luke Dashjr [Thu, 7 Feb 2013 05:47:42 +0000 (05:47 +0000)]
TopTargets() CLI command, to show vardiff targets in use

9 years agoMerge commit 'd4cbed7'
Luke Dashjr [Thu, 7 Feb 2013 04:31:24 +0000 (04:31 +0000)]
Merge commit 'd4cbed7'

9 years agoBugfix: Use static list of connections for boot_all
Luke Dashjr [Thu, 7 Feb 2013 04:31:15 +0000 (04:31 +0000)]
Bugfix: Use static list of connections for boot_all

9 years agoMerge branch 'simplelog'
Luke Dashjr [Thu, 7 Feb 2013 02:32:19 +0000 (02:32 +0000)]
Merge branch 'simplelog'

9 years agoSimplify and document logging configuration
Luke Dashjr [Thu, 7 Feb 2013 02:32:07 +0000 (02:32 +0000)]
Simplify and document logging configuration

9 years agoMerge commit '45212d2' (non-obvious conflicts!)
Luke Dashjr [Thu, 7 Feb 2013 01:34:30 +0000 (01:34 +0000)]
Merge commit '45212d2' (non-obvious conflicts!)

9 years agoBugfix: merkleMaker.access has been replaced by TS['access']
Luke Dashjr [Thu, 7 Feb 2013 01:34:07 +0000 (01:34 +0000)]
Bugfix: merkleMaker.access has been replaced by TS['access']

9 years agoMerge commit 'b44865e'
Luke Dashjr [Thu, 7 Feb 2013 01:29:24 +0000 (01:29 +0000)]
Merge commit 'b44865e'

9 years agoTests for (non-aggressive) POT and _ProcessGBT
Luke Dashjr [Thu, 7 Feb 2013 01:06:15 +0000 (01:06 +0000)]
Tests for (non-aggressive) POT and _ProcessGBT

9 years agoBugfix: Insert dummy txninfo element for coinbase transaction at the same time as...
Luke Dashjr [Thu, 7 Feb 2013 01:15:23 +0000 (01:15 +0000)]
Bugfix: Insert dummy txninfo element for coinbase transaction at the same time as inserting the coinbase transaction to txnlist

Fixes element alignment with pre-GBT sources (which omitted the insert) in fee-trimming logic

9 years agoSplit _ProcessGBT and _CheckTemplate out of _updateMerkleTree_fromTS
Luke Dashjr [Wed, 6 Feb 2013 20:29:41 +0000 (20:29 +0000)]
Split _ProcessGBT and _CheckTemplate out of _updateMerkleTree_fromTS

9 years agoMerge commit 'fde36f4'
Luke Dashjr [Tue, 5 Feb 2013 01:52:48 +0000 (01:52 +0000)]
Merge commit 'fde36f4'

9 years agoBugfix: Add missing username to target-reset log message
Luke Dashjr [Tue, 5 Feb 2013 01:52:41 +0000 (01:52 +0000)]
Bugfix: Add missing username to target-reset log message

9 years agoMerge branch 'multisource'
Luke Dashjr [Sat, 2 Feb 2013 05:03:03 +0000 (05:03 +0000)]
Merge branch 'multisource'

9 years agoBugfix: Correctly initialize without BlockSubmissions set
Luke Dashjr [Sat, 2 Feb 2013 05:02:57 +0000 (05:02 +0000)]
Bugfix: Correctly initialize without BlockSubmissions set

9 years agoAllow omitting "uri" from upstream configs if the same "name" is found elsewhere...
Luke Dashjr [Sat, 2 Feb 2013 04:59:50 +0000 (04:59 +0000)]
Allow omitting "uri" from upstream configs if the same "name" is found elsewhere with a specified "uri", and vice-versa

9 years agoBlockSubmissions config list to improve control over where we submit blocks
Luke Dashjr [Sat, 2 Feb 2013 04:44:47 +0000 (04:44 +0000)]
BlockSubmissions config list to improve control over where we submit blocks

9 years agoMerge branch 'multisource'
Luke Dashjr [Sat, 2 Feb 2013 01:45:34 +0000 (01:45 +0000)]
Merge branch 'multisource'

9 years agoMerge commit 'f25c32a'
Luke Dashjr [Sat, 2 Feb 2013 01:45:04 +0000 (01:45 +0000)]
Merge commit 'f25c32a'

Conflicts:
eloipool.py

9 years agoBugfix: Correct math to ceil power-of-two pdiff targetting
Luke Dashjr [Sat, 2 Feb 2013 01:44:24 +0000 (01:44 +0000)]
Bugfix: Correct math to ceil power-of-two pdiff targetting

9 years agoJSONRPCServer: Catch and return UTF-8 decode errors
Luke Dashjr [Fri, 1 Feb 2013 20:02:12 +0000 (20:02 +0000)]
JSONRPCServer: Catch and return UTF-8 decode errors

9 years agoMerge branch 'master' into multisource
Luke Dashjr [Fri, 1 Feb 2013 16:09:15 +0000 (16:09 +0000)]
Merge branch 'master' into multisource

Conflicts:
eloipool.py

9 years agoMerge commit '0768201'
Luke Dashjr [Fri, 1 Feb 2013 16:05:20 +0000 (16:05 +0000)]
Merge commit '0768201'

Conflicts:
eloipool.py

9 years agoBugfix: Delete local gmperr variable to avoid a recursive loop (exceptions refer...
Luke Dashjr [Fri, 1 Feb 2013 16:05:00 +0000 (16:05 +0000)]
Bugfix: Delete local gmperr variable to avoid a recursive loop (exceptions refer to function local variables)

9 years agoTry to submit blocks to every template source server
Luke Dashjr [Fri, 1 Feb 2013 05:29:35 +0000 (05:29 +0000)]
Try to submit blocks to every template source server

9 years agoIf a RejectedProposals directory exists, create a file for any block proposals that...
Luke Dashjr [Fri, 1 Feb 2013 03:57:51 +0000 (03:57 +0000)]
If a RejectedProposals directory exists, create a file for any block proposals that get rejected with details for debugging

9 years agoBugfix: Avoid clearing workLog and DupeShareHACK if there was no known previous block...
Luke Dashjr [Fri, 1 Feb 2013 03:40:08 +0000 (03:40 +0000)]
Bugfix: Avoid clearing workLog and DupeShareHACK if there was no known previous block, so the restored state survives a restart

9 years agoTrigger a block update when correcting wrong bits/height, to ensure miners get the...
Luke Dashjr [Fri, 1 Feb 2013 02:43:34 +0000 (02:43 +0000)]
Trigger a block update when correcting wrong bits/height, to ensure miners get the updated jobs

9 years agoSubmit blocks to the same source they were created from, or the most recently used...
Luke Dashjr [Thu, 31 Jan 2013 23:19:31 +0000 (23:19 +0000)]
Submit blocks to the same source they were created from, or the most recently used highest-priority source for blank merkletrees

9 years agoMostly replace UpstreamURI with TemplateSources, and add independent TemplateChecks...
Luke Dashjr [Thu, 31 Jan 2013 22:07:58 +0000 (22:07 +0000)]
Mostly replace UpstreamURI with TemplateSources, and add independent TemplateChecks to control multiple proposal checking

UpstreamURI is still used exclusively for block submissions

9 years agomerkleMaker: Split new _CallGBT from block proposal logic
Luke Dashjr [Thu, 31 Jan 2013 15:01:51 +0000 (15:01 +0000)]
merkleMaker: Split new _CallGBT from block proposal logic

9 years agoBegin restructure for multiple upstream sources
Luke Dashjr [Thu, 31 Jan 2013 14:36:32 +0000 (14:36 +0000)]
Begin restructure for multiple upstream sources

9 years agoDisable gzip compression for longpoll responses, to focus on starting sends instead
Luke Dashjr [Thu, 31 Jan 2013 09:03:31 +0000 (09:03 +0000)]
Disable gzip compression for longpoll responses, to focus on starting sends instead

9 years agoconfig.py.example: Document StratumAddresses setting
Luke Dashjr [Thu, 31 Jan 2013 08:55:45 +0000 (08:55 +0000)]
config.py.example: Document StratumAddresses setting

9 years agoconfig.py.example: Document where to find network IDs
Luke Dashjr [Thu, 31 Jan 2013 08:53:33 +0000 (08:53 +0000)]
config.py.example: Document where to find network IDs

9 years agoREADME: Brief write-up on merged mining support
Luke Dashjr [Thu, 31 Jan 2013 08:51:58 +0000 (08:51 +0000)]
README: Brief write-up on merged mining support

9 years agoMerge commit 'c598a72'
Luke Dashjr [Thu, 31 Jan 2013 08:02:12 +0000 (08:02 +0000)]
Merge commit 'c598a72'

9 years agoBugfix: Create longpoll coinbases with correct height and merkle tree
Luke Dashjr [Thu, 31 Jan 2013 07:35:32 +0000 (07:35 +0000)]
Bugfix: Create longpoll coinbases with correct height and merkle tree

9 years agoUpdate JSONRPCServer().lastHandler during longpoll distribution
Luke Dashjr [Thu, 31 Jan 2013 07:32:27 +0000 (07:32 +0000)]
Update JSONRPCServer().lastHandler during longpoll distribution

9 years agoClear input buffer when booting clients
Luke Dashjr [Sun, 13 Jan 2013 17:42:13 +0000 (17:42 +0000)]
Clear input buffer when booting clients

9 years agoStratumServer: Ignore JSON parse errors
Luke Dashjr [Sun, 13 Jan 2013 17:15:10 +0000 (17:15 +0000)]
StratumServer: Ignore JSON parse errors

9 years agoLog User-Agent and IP of JSON-RPC errors
Luke Dashjr [Fri, 11 Jan 2013 21:48:49 +0000 (21:48 +0000)]
Log User-Agent and IP of JSON-RPC errors

9 years agoRevert "Merge branch 'bugfix_race_edge'"
Luke Dashjr [Fri, 14 Dec 2012 01:06:56 +0000 (01:06 +0000)]
Revert "Merge branch 'bugfix_race_edge'"

This reverts commit fe75c6fbbc3e60594c6060368514892b6b83d65e, reversing
changes made to 17d8213c580500ce464bf4a3cb03e3901d046cd0.

9 years agoMerge branch 'bugfix_race_edge'
Luke Dashjr [Tue, 27 Nov 2012 23:01:07 +0000 (23:01 +0000)]
Merge branch 'bugfix_race_edge'

Conflicts:
merklemaker.py

9 years agoBugfix: merkleMaker: Handle an edge race condition
Luke Dashjr [Tue, 27 Nov 2012 23:00:39 +0000 (23:00 +0000)]
Bugfix: merkleMaker: Handle an edge race condition

9 years agoStratumServer: Send clean_work=true if previous job is invalid
Luke Dashjr [Tue, 27 Nov 2012 13:33:16 +0000 (13:33 +0000)]
StratumServer: Send clean_work=true if previous job is invalid

9 years agoStratumServer: Reduce job refresh time to 55 seconds to give 60 second grace window
Luke Dashjr [Tue, 27 Nov 2012 13:27:29 +0000 (13:27 +0000)]
StratumServer: Reduce job refresh time to 55 seconds to give 60 second grace window

9 years agoMerge branch 'bugfix_CMRWait'
Luke Dashjr [Mon, 26 Nov 2012 00:29:37 +0000 (00:29 +0000)]
Merge branch 'bugfix_CMRWait'

Conflicts:
merklemaker.py

9 years agoBugfix: Only put None on old clearMerkleRoots Queue if it was empty, to avoid put...
Luke Dashjr [Mon, 26 Nov 2012 00:29:13 +0000 (00:29 +0000)]
Bugfix: Only put None on old clearMerkleRoots Queue if it was empty, to avoid put blocking if it might be full

9 years agoMerge branch 'bugfix_CMRWait'
Luke Dashjr [Sun, 25 Nov 2012 02:07:48 +0000 (02:07 +0000)]
Merge branch 'bugfix_CMRWait'

Conflicts:
merklemaker.py

9 years agoBugfix: merkleMaker: After replacing clearMerkleRoots Queue, put a None on the old...
Luke Dashjr [Sun, 25 Nov 2012 02:07:07 +0000 (02:07 +0000)]
Bugfix: merkleMaker: After replacing clearMerkleRoots Queue, put a None on the old one to ensure any waiters switch over to the new one

9 years agoMerge branch 'bugfix_badprevblk_startup'
Luke Dashjr [Tue, 20 Nov 2012 05:56:33 +0000 (05:56 +0000)]
Merge branch 'bugfix_badprevblk_startup'

9 years agoBugfix: Initalize merkleMaker().lastBlock so checkShare can check it for prevblk...
Luke Dashjr [Tue, 20 Nov 2012 05:56:27 +0000 (05:56 +0000)]
Bugfix: Initalize merkleMaker().lastBlock so checkShare can check it for prevblk errors

9 years agoMerge branch 'bugfix_rejreasondelayed'
Luke Dashjr [Mon, 19 Nov 2012 23:33:27 +0000 (23:33 +0000)]
Merge branch 'bugfix_rejreasondelayed'

Conflicts:
eloipool.py

9 years agoBugfix: Upstream reject reason variable name consistency
Luke Dashjr [Mon, 19 Nov 2012 23:32:28 +0000 (23:32 +0000)]
Bugfix: Upstream reject reason variable name consistency

9 years agoMove X-Roll-NTime header to jsonrpc_getwork module
Luke Dashjr [Mon, 19 Nov 2012 21:34:35 +0000 (21:34 +0000)]
Move X-Roll-NTime header to jsonrpc_getwork module

9 years agoSupport submitting upstream via old BIP 22 draft getmemorypool
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

9 years agoSet bitcoinrpc User-Agent, used for talking to upstream server
Luke Dashjr [Mon, 14 May 2012 01:43:30 +0000 (01:43 +0000)]
Set bitcoinrpc User-Agent, used for talking to upstream server

9 years agoMerge commit '8caa4e1'
Luke Dashjr [Mon, 19 Nov 2012 20:31:56 +0000 (20:31 +0000)]
Merge commit '8caa4e1'

Conflicts:
eloipool.py

9 years agoTree-Merge commit '7cd1c63'
Luke Dashjr [Mon, 19 Nov 2012 20:20:25 +0000 (20:20 +0000)]
Tree-Merge commit '7cd1c63'

Conflicts:
eloipool.py
merklemaker.py

9 years agoMerge commit '84b5cb1'
Luke Dashjr [Mon, 19 Nov 2012 20:19:39 +0000 (20:19 +0000)]
Merge commit '84b5cb1'

Conflicts:
eloipool.py