Commit graph

180 commits

Author SHA1 Message Date
pooler
236e338463 Do not log per-thread CPU affinity in quiet mode 2013-07-03 17:28:43 +02:00
pooler
092c3fc196 Make benchmark data more realistic 2013-07-03 01:50:39 +02:00
pooler
fcd1162865 Avoid passing NULL to strcmp() in stratum_thread() 2013-06-15 14:10:32 +02:00
pooler
805ea94a4d Merge commit 'b6f26e1' from martinwguy/master
Add "cert" option for rpc server's self-signed SSL certificate
2013-06-13 21:50:47 +02:00
pooler
4aa1c3718e Ignore getwork errors when switching to Stratum 2013-06-10 11:50:40 +02:00
pooler
7528a95fe1 Perform global libcurl initialization
curl_easy_init() is not thread-safe unless curl_global_init() has
already been called.
It seems that SSL initialization is slow on Windows, so only do that
if the mining server has to be accessed via HTTPS.
Thanks to @martinwguy for pointing this out.
2013-06-09 18:21:39 +02:00
pooler
ee7b535ea6 Add Stratum support 2013-06-09 01:13:28 +02:00
Martin Guy
b6f26e1acc Add "cert" option for rpc server's self-signed SSL certificate
When minerd is used across the internet, the server's rpc userpass
travel unexcrypted, allowing anyone en route to copy them and
empty the server's wallet. Using https: would prevent this
but minerd's SSL connection fails on self-signed certificates.

This change adds a "-cert file" option (cert:"file" in minerd.conf)
to tell minerd the filename of the server's self-signed certificate.
2013-06-08 15:56:28 +02:00
lye
0df168cc6f Add FreeBSD support for setting CPU affinity. 2013-04-17 00:17:27 -05:00
pooler
5b9fd9c731 Allow specification of username in URL 2012-08-21 18:07:42 +02:00
pooler
5704acfa28 Add a --benchmark option for offline testing 2012-08-05 17:07:07 +02:00
pooler
4fd1ef6383 Add duration of getwork requests to debug output 2012-08-04 00:14:26 +02:00
pooler
8d7a870479 Add support for the X-Reject-Reason extension 2012-06-13 01:08:20 +02:00
pooler
003d1f1f84 Use _SC_NPROCESSORS_CONF instead of _SC_NPROCESSORS_ONLN 2012-06-02 14:53:54 +02:00
pooler
21cba02b78 Do not set thread affinity on single-processor systems 2012-06-02 14:45:07 +02:00
pooler
9ea6df402e Add an option to start minerd as a daemon 2012-05-05 14:35:46 +02:00
pooler
ff69f18995 Rename time_lock to avoid name conflict on AIX 2012-04-16 00:37:09 +02:00
pooler
858601d91f Use getopt() if getopt_long() is not available 2012-04-08 23:28:54 +02:00
pooler
3151311af0 Check for <sys/sysctl.h> in configure
Also check for <sys/param.h>, which is a prerequisite on OpenBSD
2012-04-07 14:55:50 +02:00
pooler
83652d0787 Version 2.2 2012-04-02 21:12:11 +02:00
pooler
ca34d624f6 Fix 4-way and 12-way scrypt 2012-04-02 18:24:55 +02:00
pooler
7dd70bc05f Change the default timeout to 270 seconds 2012-03-30 16:26:24 +02:00
pooler
fc7dd5ead0 Do not print too many decimals 2012-03-21 23:41:48 +01:00
pooler
ed3d1c94f9 Reimplement SHA-256d 2012-03-21 23:07:56 +01:00
pooler
40fc3d06f9 Minor cleanups 2012-03-10 23:29:11 +01:00
pooler
c96b468d1c Keep work data in host byte order 2012-03-10 13:37:33 +01:00
pooler
8625cf40f6 Assume HTTP if no protocol is specified 2012-03-06 00:10:35 +01:00
pooler
18033f6a04 Add optimizations for AVX-capable processors 2012-03-05 19:32:52 +01:00
pontius
4aafcadbd2 Solaris doesn't have <sys/sysctl.h>. 2012-03-01 09:09:23 +01:00
pooler
1f15a1f672 Add proxy support 2012-02-26 01:34:58 +01:00
pooler
fc5435e338 Allow unauthenticated mining 2012-02-24 21:06:10 +01:00
pooler
922ce0b92e Version 2.1.3 2012-02-12 23:47:20 +01:00
pooler
61392dc673 Support for "submitold" extension to long polling 2012-02-12 19:50:59 +01:00
pooler
131d5a2374 Add smart handling of long polling failures
Switch to short scan time if long polling fails, and try
to reactivate it only if the server continues to advertise
the feature in HTTP headers.
2012-02-12 03:23:06 +01:00
pooler
46fe063865 Eliminate the delay between starting threads
This is no more needed since miner threads share the result
of the same getwork request.
2012-02-11 15:19:31 +01:00
pooler
a605a2ae4d Throw an error if non-option arguments are supplied 2012-02-11 02:32:49 +01:00
pooler
9435078a8e Extract username and password specified in URL 2012-02-11 01:42:57 +01:00
pooler
6599e7d1a7 Only detect the number of processors once 2012-02-11 00:09:50 +01:00
pooler
0b706173ca Clean up --help output 2012-02-10 03:25:35 +01:00
pooler
b25730c8f7 Add a --version option 2012-02-09 15:19:32 +01:00
pooler
4d2ee802cd Do not skip submission of old work
This increases compatibility with p2pool
2012-02-08 15:47:32 +01:00
pooler
9ba5e94d3d Make the hashmeter thread-safe 2012-02-05 18:17:24 +01:00
pooler
9ce0db5100 Add "X-Mining-Extensions: midstate" to HTTP headers
Drop support for the the deprecated "midstate" and "hash1" fields.
2012-02-01 03:59:08 +01:00
pooler
d26b0d8b81 Version 2.1.2
- Do not submit work that is known to be stale
- Allow miner threads to ask for new work if the current one is at least
  45 seconds old and long polling is enabled
- Refresh work when long polling times out
- Modify x86-64 code to make it compatible with older versions of
  binutils
2012-01-26 14:31:07 +01:00
pooler
14f953e0f8 Handle network errors properly 2012-01-21 00:31:51 +01:00
pooler
35ae813dc8 Add missing mutex initialization 2012-01-19 17:36:42 +01:00
pooler
0426d3ace0 Drastically increase getwork efficiency 2012-01-19 16:25:01 +01:00
pooler
e0dc6649e1 Version 2.0
- Test the whole hash instead of just looking at the high 32 bits
- Set idle priority on Windows
- Fix parameters -u and -p, and add short options -o and -O
- Fix example JSON configuration file
2012-01-17 00:38:06 +01:00
pooler
36225b4206 Some more optimization 2011-12-24 12:22:06 +01:00
pooler
963efb9546 Fix minor bugs
Change default port to 9332 and remove default credentials
Add share summary output
2011-12-21 04:31:56 +01:00
pooler
45024f12f1 Add configurable timeout 2011-12-04 22:55:30 +01:00
Art Forz
99084f8be4 Make scantime retargeting less granular 2011-10-08 04:35:56 +02:00
Art Forz
383482e0a6 Rip out sha256 algos 2011-10-01 13:20:36 +02:00
Art Forz
f4fdf27b6c Hopefully fix jansson compatiblity 2011-10-01 10:15:38 +02:00
Lolcust
de7455797e Tweaked to be slightly easier to use with Tenebrix, tested. 2011-09-26 01:04:58 +03:00
Art Forz
ac92e27c8e add scrypt function 2011-09-20 12:20:26 +02:00
ckolivas
2a7ac1bce7 Cope with older linux kernel headers that don't have the newer scheduling policies defined. 2011-06-14 02:35:59 -04:00
Jeff Garzik
994c700ff4 Fix number-of-threads init logic on Windows 2011-06-09 03:47:07 -04:00
Jeff Garzik
0091c4e128 only read processor count via sysconf on non-Windows platforms 2011-06-08 22:30:10 -04:00
ckolivas
8a832eeab5 Linux + x86_64 optimisations.
Add likely() macro.
Optimise a few obvious code paths with likely/unlikely.
Change algo to sse2_amd64 by default.
Move priority change to worker threads only.
Detect number of CPUs and set default number of threads == CPUs.
Add scheduling policy change to worker threads to SCHED_IDLE first and fallback to SCHED_BATCH on linux.
Don't error when failing to set priority.
Add CPU affinity and bind worker threads to CPUs when number of threads is a multiple of number of CPUs.
Update NEWS with changes.
2011-06-09 11:45:06 +10:00
Jeff Garzik
69529c3859 Support full URL, in X-Long-Polling header 2011-03-24 14:09:49 -04:00
Jeff Garzik
46819af36f --user/--pass fixes
Also, some newline fixes (applog callers do not need newlines in strings)
2011-03-21 20:50:59 -04:00
Jeff Garzik
81352ca48f Support --user and --pass, as alternative to --userpass 2011-03-21 04:27:02 -04:00
Jeff Garzik
2fd9d54443 Convert remaining [f]print to applog().
Also, remove a few superfluous printouts.
2011-03-21 04:02:13 -04:00
Jeff Garzik
144cf62d7c Avoid potential for div-by-zero, when calculating max-nonce 2011-03-21 03:45:26 -04:00
Jeff Garzik
d49d639269 cpu-miner.c: Remove newline from applog() call 2011-03-21 03:42:57 -04:00
Jeff Garzik
24afd61775 Introduce more standardized logging (incl. optional syslog).
Also, improve portability of alloca.
2011-03-18 17:24:16 -04:00
Jeff Garzik
7a87bee999 Add long polling support 2011-03-18 02:53:13 -04:00
Jeff Garzik
6818c6928a Improve max nonce auto-adjustment with some basic algebra. 2011-03-17 23:22:10 -04:00
Jeff Garzik
2d49a9a5d7 Introduce ability to interrupt hash scanners in the middle of scanning. 2011-03-17 22:02:28 -04:00
Jeff Garzik
0258fae450 Fix Windows build, that broke with yasm integration 2011-03-14 23:36:28 -04:00
Jeff Garzik
4f7a51e9ed Move all RPC I/O to separate thread. 2011-03-14 23:17:34 -04:00
Mark Crichton
96d2287c72 X86_64 SSE2 support for Linux 2011-03-06 23:49:00 -05:00
Jeff Garzik
4a7f3f70b5 Show date/time when proof-of-work is found. 2011-02-17 01:58:53 -05:00
Jeff Garzik
fa7e80b8e5 Extract get-work logic into separate function. 2011-02-17 01:21:16 -05:00
Jeff Garzik
6d2882937f Add support for JSON-format configuration file 2011-02-13 03:04:02 -05:00
Jeff Garzik
c0935a9489 Re-use CURL object, thereby caching DNS and HTTP connections where possible. 2011-02-10 00:41:44 -05:00
Jeff Garzik
e47076caac Fix max-nonce auto-adjustment logic to actually work 2011-02-04 11:54:31 -05:00
Jeff Garzik
e8ee4cb002 Add --retry-pause, to set length of pause time between failure retries 2011-02-03 00:54:03 -05:00
Jeff Garzik
714c0fd7c9 Continue scanhash, even if high 32 bits are zero.
Previously, we would stop the scan if the high 32 bits of the hash were zero,
as a quick shortcut for testing the full hash.  If this quick test succeeded,
we would pass the work to the server for full validation.

Change this logic to perform full validation inside minerd, so that work may
be resumed more quickly if hash > target.
2011-02-03 00:46:55 -05:00
Jeff Garzik
453101d9e9 Remove "PROOF OF WORK FOUND?" debug output; redundant. 2011-01-29 23:55:11 -05:00
Jeff Garzik
f889476bbd Dynamically adjust time spent hashing current work unit, to meet target 2011-01-29 01:14:12 -05:00
Jeff Garzik
0b67740707 Pass max-nonce as arg to each sha256 algo.
Should be an equivalent transformation, with no behavior changes.
2011-01-29 00:56:24 -05:00
Jeff Garzik
f570ffcf75 Code movement: move second hash time sampling to main miner loop 2011-01-29 00:47:48 -05:00
Jeff Garzik
e41171424a Fix non-working short options -q and -r N, by listing them in optstring. 2011-01-29 00:28:19 -05:00
Jeff Garzik
fc4ed179e8 Release version 0.5. 2010-12-28 22:38:57 -05:00
Jeff Garzik
16006f9037 Rather than sleep-loop, main thread waits for all threads to exit. 2010-12-28 21:10:41 -05:00
Jeff Garzik
872211caad Add --quiet option, to disable hashmeter output. 2010-12-27 02:13:15 -05:00
Jeff Garzik
d88648dd39 sha256_via: ensure that found nonce is copied back into output data buffer
Also, some minor cleanups, removing unused args.
2010-12-23 20:21:00 -05:00
Jeff Garzik
d363a1d68d sha256_via: ensure proper data area is fully checksummed 2010-12-19 21:37:30 -05:00
Jeff Garzik
ee592d0a60 Handle temporary JSON failures (due to server reboot, etc.) 2010-12-18 22:22:06 -05:00
Jeff Garzik
857ba8f6cc Release version 0.3. 2010-12-18 16:31:28 -05:00
Jeff Garzik
ce1c9a8aca Display version on minerd --help usage output. 2010-12-06 20:21:22 -05:00
Jeff Garzik
f1fcd76ba7 sha256_cryptopp: Add crypto++ 32-bit assembly implementation 2010-12-06 20:14:58 -05:00
Jeff Garzik
1a1a018627 Release version 0.2.2.
Remove 'experimental' marker from VIA padlock implementation.
2010-12-06 02:30:57 -05:00
Jeff Garzik
276dcdbcec Avoid null deref in command line arg processing.
Reported by lfm.
2010-12-05 23:18:18 -05:00
Jeff Garzik
145e5fe141 submit_work: increase string buffer, to avoid overflow 2010-11-29 12:21:03 -05:00
Jeff Garzik
74bb196296 Add Crypto++ sha256 implementation (C only, ASM elided for now) 2010-11-28 20:16:22 -05:00
Jeff Garzik
339ddf4d75 Move sha256_generic into its own .o build output. Const-ify midstate param. 2010-11-27 04:31:32 -05:00
Jeff Garzik
4c47553c85 Clean up multi-algorithm selection and display 2010-11-27 03:50:52 -05:00