bitcoin:eloipool.git
10 years agoSupport for MySQL and Sqlite share logging
Luke Dashjr [Mon, 5 Mar 2012 00:17:35 +0000 (19:17 -0500)]
Support for MySQL and Sqlite share logging

10 years agoSupport for customizing logfile format and SQL insert statement
Luke Dashjr [Mon, 5 Mar 2012 00:15:42 +0000 (19:15 -0500)]
Support for customizing logfile format and SQL insert statement

10 years agoMerge branch 'bugfix_YN_None_3'
Luke Dashjr [Mon, 5 Mar 2012 00:00:12 +0000 (19:00 -0500)]
Merge branch 'bugfix_YN_None_3'

10 years agoMerge branch 'bugfix_YN_None_2' into bugfix_YN_None_3
Luke Dashjr [Mon, 5 Mar 2012 00:00:08 +0000 (19:00 -0500)]
Merge branch 'bugfix_YN_None_2' into bugfix_YN_None_3

Conflicts:
sharelogging/logfile.py

10 years agoMerge branch 'bugfix_YN_None' into bugfix_YN_None_2
Luke Dashjr [Sun, 4 Mar 2012 23:58:45 +0000 (18:58 -0500)]
Merge branch 'bugfix_YN_None' into bugfix_YN_None_2

Conflicts:
sharelogging/logfile.py

10 years agoLog "-" for upstreamResult rather than "N" if not attempted
Luke Dashjr [Sun, 4 Mar 2012 23:57:02 +0000 (18:57 -0500)]
Log "-" for upstreamResult rather than "N" if not attempted

10 years agoBugfix: Failure to setup a share logger is an error
Luke Dashjr [Sun, 4 Mar 2012 21:22:52 +0000 (16:22 -0500)]
Bugfix: Failure to setup a share logger is an error

10 years agoBugfix: Correct example logfile type
Luke Dashjr [Sun, 4 Mar 2012 21:22:04 +0000 (16:22 -0500)]
Bugfix: Correct example logfile type

10 years agoAbstract postgres sharelogging into generic SQL sharelogger
Luke Dashjr [Sun, 4 Mar 2012 21:12:18 +0000 (16:12 -0500)]
Abstract postgres sharelogging into generic SQL sharelogger

Note: This changes the format of the ShareLogging variable; backward compatibility will be retained for only a month, since it was just introduced and has few users

10 years agoMerge branch 'logshare'
Luke Dashjr [Sun, 4 Mar 2012 18:05:28 +0000 (13:05 -0500)]
Merge branch 'logshare'

10 years ago(Debug) logger name consistency
Luke Dashjr [Sun, 4 Mar 2012 01:39:53 +0000 (20:39 -0500)]
(Debug) logger name consistency

10 years agoImprove sharelogging consistency, and make it an object-oriented framework
Luke Dashjr [Sun, 4 Mar 2012 01:38:14 +0000 (20:38 -0500)]
Improve sharelogging consistency, and make it an object-oriented framework

10 years agoMove common YN function to util
Luke Dashjr [Sun, 4 Mar 2012 01:30:10 +0000 (20:30 -0500)]
Move common YN function to util

10 years agoRestore backward compatibility with DbOptions, and allow omitting shareLogging from...
Luke Dashjr [Sun, 4 Mar 2012 01:27:12 +0000 (20:27 -0500)]
Restore backward compatibility with DbOptions, and allow omitting shareLogging from config

10 years agoMade the logging of shares modular and added file logging
Peter Leurs [Sun, 4 Mar 2012 00:47:48 +0000 (01:47 +0100)]
Made the logging of shares modular and added file logging

10 years agoAdd "longpoll" key to getmemorypool results, to follow current BIP draft
Luke Dashjr [Sat, 3 Mar 2012 15:43:26 +0000 (10:43 -0500)]
Add "longpoll" key to getmemorypool results, to follow current BIP draft

10 years agoEnable "midstate" extension for Phoenix, poclbm, and gMinor even if not advertised
Luke Dashjr [Sat, 3 Mar 2012 00:25:41 +0000 (19:25 -0500)]
Enable "midstate" extension for Phoenix, poclbm, and gMinor even if not advertised

10 years agoMerge branch 'refactor_jsonrpcserver'
Luke Dashjr [Wed, 29 Feb 2012 02:33:05 +0000 (21:33 -0500)]
Merge branch 'refactor_jsonrpcserver'

10 years agogmp-proxy: longpoll support
Luke Dashjr [Wed, 29 Feb 2012 01:32:56 +0000 (20:32 -0500)]
gmp-proxy: longpoll support

10 years agoTolerate Authorization headers without password at all
Luke Dashjr [Wed, 29 Feb 2012 01:08:05 +0000 (20:08 -0500)]
Tolerate Authorization headers without password at all

10 years agogmp-proxy: Import jsonrpc_getwork, since we need it
Luke Dashjr [Wed, 29 Feb 2012 00:58:52 +0000 (19:58 -0500)]
gmp-proxy: Import jsonrpc_getwork, since we need it

10 years agoGeneralize longpoll to work for any param-less JSON-RPC call
Luke Dashjr [Wed, 29 Feb 2012 00:52:32 +0000 (19:52 -0500)]
Generalize longpoll to work for any param-less JSON-RPC call

This enables getmemorypool LP

10 years agoSplit JSON-RPC mining stuff into their own files
Luke Dashjr [Tue, 28 Feb 2012 20:26:25 +0000 (15:26 -0500)]
Split JSON-RPC mining stuff into their own files

(longpoll code in JSONRPCHandler is still getwork-specific)

10 years agoSplit HTTP-specific code into HTTPServer
Luke Dashjr [Tue, 28 Feb 2012 17:33:07 +0000 (12:33 -0500)]
Split HTTP-specific code into HTTPServer

10 years agogitignore *.rej and *.orig
Luke Dashjr [Tue, 28 Feb 2012 17:34:04 +0000 (12:34 -0500)]
gitignore *.rej and *.orig

10 years agoAdd a "workid" key to getmemorypool, just in case it might be needed
Luke Dashjr [Tue, 28 Feb 2012 15:14:08 +0000 (10:14 -0500)]
Add a "workid" key to getmemorypool, just in case it might be needed

10 years agoMove logShare call from checkShare into receiveShare
Luke Dashjr [Sun, 26 Feb 2012 20:07:37 +0000 (15:07 -0500)]
Move logShare call from checkShare into receiveShare

10 years agoMerge branch 'serve_getmemorypool'
Luke Dashjr [Sun, 26 Feb 2012 05:33:03 +0000 (00:33 -0500)]
Merge branch 'serve_getmemorypool'

Conflicts:
eloipool.py

10 years agogmp-proxy: Safeguard against flooding pools giving us invalid coinbases
Luke Dashjr [Sat, 25 Feb 2012 20:34:34 +0000 (15:34 -0500)]
gmp-proxy: Safeguard against flooding pools giving us invalid coinbases

10 years agogmp-proxy: Safeguard against coinbase overflow
Luke Dashjr [Sat, 25 Feb 2012 20:32:35 +0000 (15:32 -0500)]
gmp-proxy: Safeguard against coinbase overflow

10 years agoBugfix: Tolerate flags in coinbase prefix we provided
Luke Dashjr [Sat, 25 Feb 2012 20:26:55 +0000 (15:26 -0500)]
Bugfix: Tolerate flags in coinbase prefix we provided

10 years agogmp-proxy: Support our own extranonce if the coinbase/append mutation is allowed
Luke Dashjr [Sat, 25 Feb 2012 20:11:47 +0000 (15:11 -0500)]
gmp-proxy: Support our own extranonce if the coinbase/append mutation is allowed

10 years agoAllow coinbase/append mutation for getmemorypool mining
Luke Dashjr [Sat, 25 Feb 2012 19:52:06 +0000 (14:52 -0500)]
Allow coinbase/append mutation for getmemorypool mining

10 years agoBugfix: Postgres only tolerates string solution, not bytes
Luke Dashjr [Fri, 24 Feb 2012 07:16:34 +0000 (02:16 -0500)]
Bugfix: Postgres only tolerates string solution, not bytes

10 years agoMerge branch 'bitcoin_poscount' into serve_getmemorypool
Luke Dashjr [Fri, 24 Feb 2012 07:01:47 +0000 (02:01 -0500)]
Merge branch 'bitcoin_poscount' into serve_getmemorypool

10 years agoBugfix: unpack needs exact data
Luke Dashjr [Fri, 24 Feb 2012 07:01:16 +0000 (02:01 -0500)]
Bugfix: unpack needs exact data

10 years agoAdd proof-of-concept getmemorypool proxy
Luke Dashjr [Fri, 24 Feb 2012 06:17:47 +0000 (01:17 -0500)]
Add proof-of-concept getmemorypool proxy

10 years agoSupport (unmodified) getmemorypool block submissions
Luke Dashjr [Thu, 23 Feb 2012 18:43:11 +0000 (13:43 -0500)]
Support (unmodified) getmemorypool block submissions

10 years agoMerge branch 'bctxn_getcb' into serve_getmemorypool
Luke Dashjr [Thu, 23 Feb 2012 18:34:14 +0000 (13:34 -0500)]
Merge branch 'bctxn_getcb' into serve_getmemorypool

Conflicts:
bitcointxn.py

10 years agoImplement bitcointxn.getCoinbase
Luke Dashjr [Thu, 23 Feb 2012 18:33:23 +0000 (13:33 -0500)]
Implement bitcointxn.getCoinbase

10 years agoMerge branch 'bitcoin_poscount' into serve_getmemorypool
Luke Dashjr [Thu, 23 Feb 2012 18:31:04 +0000 (13:31 -0500)]
Merge branch 'bitcoin_poscount' into serve_getmemorypool

Conflicts:
bitcoinvarlen.py

10 years agoMerge branch 'checkShare_vars' into serve_getmemorypool
Luke Dashjr [Thu, 23 Feb 2012 18:29:55 +0000 (13:29 -0500)]
Merge branch 'checkShare_vars' into serve_getmemorypool

Conflicts:
eloipool.py

10 years agoMerge branch 'ambig_t' into serve_getmemorypool
Luke Dashjr [Thu, 23 Feb 2012 18:29:16 +0000 (13:29 -0500)]
Merge branch 'ambig_t' into serve_getmemorypool

Conflicts:
eloipool.py

10 years agoMerge branch 'bugfix_bitcoin_txn_disasm' into serve_getmemorypool
Luke Dashjr [Thu, 23 Feb 2012 18:28:57 +0000 (13:28 -0500)]
Merge branch 'bugfix_bitcoin_txn_disasm' into serve_getmemorypool

10 years agoMerge branch 'checkShare_vars'
Luke Dashjr [Thu, 23 Feb 2012 18:28:21 +0000 (13:28 -0500)]
Merge branch 'checkShare_vars'

Conflicts:
eloipool.py

10 years agoMerge branch 'bugfix_bitcoin_txn_disasm'
Luke Dashjr [Thu, 23 Feb 2012 18:26:44 +0000 (13:26 -0500)]
Merge branch 'bugfix_bitcoin_txn_disasm'

10 years agoMerge branch 'ambig_t'
Luke Dashjr [Thu, 23 Feb 2012 18:26:27 +0000 (13:26 -0500)]
Merge branch 'ambig_t'

Conflicts:
eloipool.py

10 years agocheckShare: Abstract MRD[n] into named variables
Luke Dashjr [Thu, 23 Feb 2012 18:24:49 +0000 (13:24 -0500)]
checkShare: Abstract MRD[n] into named variables

10 years agoReplace ambiguous 't' variables with 'txn' and 'cbtxn' as applicable
Luke Dashjr [Thu, 23 Feb 2012 18:20:11 +0000 (13:20 -0500)]
Replace ambiguous 't' variables with 'txn' and 'cbtxn' as applicable

10 years agoMake "MC" format more consistent with "MRD" format by adding a padding None
Luke Dashjr [Thu, 23 Feb 2012 18:14:49 +0000 (13:14 -0500)]
Make "MC" format more consistent with "MRD" format by adding a padding None

10 years agoEnable position counting in varlenDecode, and extracting a transaction from a chunk...
Luke Dashjr [Thu, 23 Feb 2012 18:10:39 +0000 (13:10 -0500)]
Enable position counting in varlenDecode, and extracting a transaction from a chunk of (block) data

10 years agoMerge branch 'bugfix_bitcoin_txn_disasm' into bitcoin_poscount
Luke Dashjr [Thu, 23 Feb 2012 18:07:07 +0000 (13:07 -0500)]
Merge branch 'bugfix_bitcoin_txn_disasm' into bitcoin_poscount

10 years agoBugfix: Fix bitcointxn.disassemble so it actually works
Luke Dashjr [Thu, 23 Feb 2012 18:02:29 +0000 (13:02 -0500)]
Bugfix: Fix bitcointxn.disassemble so it actually works

10 years agoBugfix: Actually work on a valid block if wrong bits is detected (shortly after we...
Luke Dashjr [Mon, 20 Feb 2012 22:30:54 +0000 (17:30 -0500)]
Bugfix: Actually work on a valid block if wrong bits is detected (shortly after we find the last block of the difficulty-period)

10 years agoPromote new block from debug to info
Luke Dashjr [Mon, 20 Feb 2012 06:08:33 +0000 (01:08 -0500)]
Promote new block from debug to info

10 years agoSilence more debug info
Luke Dashjr [Mon, 20 Feb 2012 05:42:11 +0000 (00:42 -0500)]
Silence more debug info

10 years agoSimplify bitcoin.node code by removing pre-Feb20 compatibility attempts/hacks
Luke Dashjr [Mon, 20 Feb 2012 00:47:30 +0000 (19:47 -0500)]
Simplify bitcoin.node code by removing pre-Feb20 compatibility attempts/hacks

10 years agoCheck for stale-work and time-too-old/new only after possibly submitting a share...
Luke Dashjr [Sun, 19 Feb 2012 23:55:19 +0000 (18:55 -0500)]
Check for stale-work and time-too-old/new only after possibly submitting a share upstream

10 years agoBugfix: Clear jsonrpcserver._CheckForDupesHACK when the block changes, so it doesn...
Luke Dashjr [Sun, 19 Feb 2012 23:42:21 +0000 (18:42 -0500)]
Bugfix: Clear jsonrpcserver._CheckForDupesHACK when the block changes, so it doesn't grow infinitely

10 years agoSupport for binding sockets using external program (possibly with setuid root or...
Luke Dashjr [Thu, 9 Feb 2012 20:57:11 +0000 (15:57 -0500)]
Support for binding sockets using external program (possibly with setuid root or capabilities)

10 years agoRaise timeout on persistent connections to 150 seconds
Luke Dashjr [Sat, 4 Feb 2012 02:47:19 +0000 (21:47 -0500)]
Raise timeout on persistent connections to 150 seconds

10 years agoImplement "Connection: close" header
Luke Dashjr [Sat, 4 Feb 2012 02:45:23 +0000 (21:45 -0500)]
Implement "Connection: close" header

10 years agoBugfix: handle_error on error, not handle_close
Luke Dashjr [Sat, 4 Feb 2012 02:45:05 +0000 (21:45 -0500)]
Bugfix: handle_error on error, not handle_close

10 years agoFor now, enable No Early Longpoll Headers quirk by default
Luke Dashjr [Fri, 3 Feb 2012 20:25:51 +0000 (15:25 -0500)]
For now, enable No Early Longpoll Headers quirk by default

We can revisit this when we find out which clients have trouble with it

10 years agoTrack downtime across restarts
Luke Dashjr [Fri, 3 Feb 2012 20:23:28 +0000 (15:23 -0500)]
Track downtime across restarts

10 years agoSkip restoring workLog iff the state file is over 2 minutes old
Luke Dashjr [Fri, 3 Feb 2012 20:07:19 +0000 (15:07 -0500)]
Skip restoring workLog iff the state file is over 2 minutes old

We can possibly save some time by not restoring expired work.
Note this changes the statefile format, but supports loading an old one.

10 years agoBugfix: Ignore subsequent close attempts
Luke Dashjr [Fri, 3 Feb 2012 20:00:24 +0000 (15:00 -0500)]
Bugfix: Ignore subsequent close attempts

10 years agoBugfix: Ignore errors waking longpoll handlers
Luke Dashjr [Fri, 3 Feb 2012 14:55:15 +0000 (09:55 -0500)]
Bugfix: Ignore errors waking longpoll handlers

Non-socket errors debug-log

10 years agoImplement getmemorypool for JSON-RPC miner clients
Luke Dashjr [Fri, 3 Feb 2012 03:33:21 +0000 (22:33 -0500)]
Implement getmemorypool for JSON-RPC miner clients

Provides coinbasetxn (serialized coinbase txn) instead of coinbasevalue and coinbaseaux/coinbaseflags

10 years agoWait to restoreState until right before starting the server tasks, and don't delete...
Luke Dashjr [Thu, 2 Feb 2012 21:55:51 +0000 (16:55 -0500)]
Wait to restoreState until right before starting the server tasks, and don't delete the worklog file

10 years agoBugfix: Close sockets on BitcoinNode at shutdown/restart too
Luke Dashjr [Thu, 2 Feb 2012 18:02:43 +0000 (13:02 -0500)]
Bugfix: Close sockets on BitcoinNode at shutdown/restart too

10 years agoBugfix: Ignore BitcoinNodeAddresses missing in config
Luke Dashjr [Thu, 2 Feb 2012 17:02:55 +0000 (12:02 -0500)]
Bugfix: Ignore BitcoinNodeAddresses missing in config

10 years agoBitcoinLink: Fix pre-Feb20 "version" checksum handling
Luke Dashjr [Thu, 2 Feb 2012 17:01:18 +0000 (12:01 -0500)]
BitcoinLink: Fix pre-Feb20 "version" checksum handling

10 years agoMerge branch 'bcnode'
Luke Dashjr [Thu, 2 Feb 2012 16:58:08 +0000 (11:58 -0500)]
Merge branch 'bcnode'

Conflicts:
jsonrpcserver.py

10 years agoMerge branch 'savework'
Luke Dashjr [Thu, 2 Feb 2012 16:45:35 +0000 (11:45 -0500)]
Merge branch 'savework'

10 years agoNew CLI command restart() to save state, re-exec, and restore
Luke Dashjr [Thu, 2 Feb 2012 15:33:05 +0000 (10:33 -0500)]
New CLI command restart() to save state, re-exec, and restore

10 years agoSave workLog and DupeShareHACK to eloipool.worklog on exit(), and restore (and delete...
Luke Dashjr [Thu, 2 Feb 2012 15:12:27 +0000 (10:12 -0500)]
Save workLog and DupeShareHACK to eloipool.worklog on exit(), and restore (and delete) on startup

10 years agogitignore: midstate.so
Luke Dashjr [Thu, 2 Feb 2012 09:22:35 +0000 (04:22 -0500)]
gitignore: midstate.so

10 years agoImplement outgoing BitcoinLink connections, and restore UpstreamBitcoindNode
Luke Dashjr [Thu, 2 Feb 2012 09:03:02 +0000 (04:03 -0500)]
Implement outgoing BitcoinLink connections, and restore UpstreamBitcoindNode

10 years agoBugfix: Move some cleanup from JSONRPCServer to SocketHandler
Luke Dashjr [Thu, 2 Feb 2012 09:01:40 +0000 (04:01 -0500)]
Bugfix: Move some cleanup from JSONRPCServer to SocketHandler

10 years agoReplace (broken) single-node BitcoinLink with AsyncSocketServer-based BitcoinNode
Luke Dashjr [Thu, 2 Feb 2012 08:24:43 +0000 (03:24 -0500)]
Replace (broken) single-node BitcoinLink with AsyncSocketServer-based BitcoinNode

This doesn't support outbound connections yet

10 years agoAsyncSocketServer: Abstract Waker out of JSONRPCServer for general use
Luke Dashjr [Thu, 2 Feb 2012 08:21:55 +0000 (03:21 -0500)]
AsyncSocketServer: Abstract Waker out of JSONRPCServer for general use

10 years agoNetworkListener: Allow non-INET6 sockets
Luke Dashjr [Thu, 2 Feb 2012 00:41:57 +0000 (19:41 -0500)]
NetworkListener: Allow non-INET6 sockets

10 years agoAbstract various parts of JSONRPCServer out into AsyncSocketServer
Luke Dashjr [Thu, 2 Feb 2012 00:25:56 +0000 (19:25 -0500)]
Abstract various parts of JSONRPCServer out into AsyncSocketServer

10 years agoExplain how to bind IPv4 addresses
Luke Dashjr [Wed, 1 Feb 2012 04:51:09 +0000 (23:51 -0500)]
Explain how to bind IPv4 addresses

10 years agoStash the server_address on the JSONRPCListener object just in case the user wants...
Luke Dashjr [Wed, 1 Feb 2012 04:50:49 +0000 (23:50 -0500)]
Stash the server_address on the JSONRPCListener object just in case the user wants to see it

10 years agoLog when new block notification received
Luke Dashjr [Wed, 1 Feb 2012 04:37:17 +0000 (23:37 -0500)]
Log when new block notification received

10 years agoBugfix: Survive a SIGUSR1 interrupting epoll
Luke Dashjr [Wed, 1 Feb 2012 04:34:45 +0000 (23:34 -0500)]
Bugfix: Survive a SIGUSR1 interrupting epoll

10 years agoStore JSONRPCListeners in an array for CLI users to access
Luke Dashjr [Wed, 1 Feb 2012 01:07:24 +0000 (20:07 -0500)]
Store JSONRPCListeners in an array for CLI users to access

10 years agoBugfix: Ignore errors on listener sockets
Luke Dashjr [Wed, 1 Feb 2012 01:06:02 +0000 (20:06 -0500)]
Bugfix: Ignore errors on listener sockets

10 years agoExplain why the gotwork error
Luke Dashjr [Wed, 1 Feb 2012 00:42:59 +0000 (19:42 -0500)]
Explain why the gotwork error

10 years agoBugfix: Fix handling of params-free requests
Luke Dashjr [Tue, 31 Jan 2012 15:43:42 +0000 (10:43 -0500)]
Bugfix: Fix handling of params-free requests

10 years agoBugfix: check body exists before checking body[0]
Luke Dashjr [Tue, 31 Jan 2012 15:35:59 +0000 (10:35 -0500)]
Bugfix: check body exists before checking body[0]

10 years agoBugfix: Catch non-object JSON input too; also log errors during actual method calls...
Luke Dashjr [Mon, 30 Jan 2012 16:06:49 +0000 (11:06 -0500)]
Bugfix: Catch non-object JSON input too; also log errors during actual method calls for debugging/catching

10 years agoBugfix: Send errors as proper JSON-RPC responses
Luke Dashjr [Mon, 30 Jan 2012 15:59:26 +0000 (10:59 -0500)]
Bugfix: Send errors as proper JSON-RPC responses

10 years agoRefactor JSONRPCHandler task scheduling, so that there is (almost) always *some*...
Luke Dashjr [Mon, 30 Jan 2012 01:46:02 +0000 (20:46 -0500)]
Refactor JSONRPCHandler task scheduling, so that there is (almost) always *some* task scheduled

By default, a 15 second timeout which closes the connection ;)

10 years agoIgnore extra newlines preceding HTTP request
Luke Dashjr [Mon, 30 Jan 2012 00:35:50 +0000 (19:35 -0500)]
Ignore extra newlines preceding HTTP request

10 years agoJSONRPCHandler: Set _LPTask to True for NELH-quirk LP clients, so they're cleaned...
Luke Dashjr [Sun, 29 Jan 2012 23:26:40 +0000 (18:26 -0500)]
JSONRPCHandler: Set _LPTask to True for NELH-quirk LP clients, so they're cleaned up properly

10 years agoBugfix: Refactor JSONRPCHandler.cleanupLP to remove scheduled wakeLongpoll even if...
Luke Dashjr [Sun, 29 Jan 2012 22:58:57 +0000 (17:58 -0500)]
Bugfix: Refactor JSONRPCHandler.cleanupLP to remove scheduled wakeLongpoll even if it's not part of the LPClients dict anymore (due to having been LP'd)

10 years agoBugfix: Don't error trying to write to peer-closed sockets
Luke Dashjr [Sun, 29 Jan 2012 22:56:39 +0000 (17:56 -0500)]
Bugfix: Don't error trying to write to peer-closed sockets