1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-01-23 04:54:26 +00:00

473 Commits

Author SHA1 Message Date
Con Kolivas
7415d7aaa0 Begin implementing a hash database of submissions and attempt sending results. 2012-09-29 16:10:13 +10:00
Con Kolivas
ac47f7f3a6 Store and display stripped url in its own variable. 2012-09-29 14:16:16 +10:00
Con Kolivas
636f4b14d7 Generate the work target in gen_stratum_work, setting default diff to 1 in case it is not yet set. 2012-09-29 11:38:52 +10:00
Con Kolivas
1f6fe55152 Generate the coinbase for generation of stratum based work. 2012-09-29 02:16:22 +10:00
Con Kolivas
1f64491f62 The number of transactions is variable so make merkle a variable length dynamically allocated array and track how many there are for stratum. 2012-09-29 01:48:01 +10:00
Con Kolivas
1221a80d41 Rename nonce2 to n2size reflecting that it's a size variable and not the actual nonce. 2012-09-29 01:03:23 +10:00
Con Kolivas
56255a0c86 Create a stratum thread per pool that has stratum that monitors the socket and serves received data. 2012-09-28 18:01:33 +10:00
Con Kolivas
31c3759ecd Check return value of stratum_parse. 2012-09-28 10:37:42 +10:00
Con Kolivas
ac9a4378d1 Complete authorisation in stratum. 2012-09-28 10:31:45 +10:00
Con Kolivas
331026595f Implement stratum parsing of notify parameters and storing them in the pool stratum work structure. 2012-09-28 10:18:58 +10:00
Con Kolivas
9d4a44e88e Create helper functions for duplicating json strings to avoid keeping json references in use. 2012-09-28 09:57:42 +10:00
Con Kolivas
b86a893981 Append \n in the sock_send function instead of adding it when constructing json in stratum. 2012-09-28 05:30:36 +10:00
Con Kolivas
d416d22381 Don't keep any json references around with stratum structures. 2012-09-28 05:26:29 +10:00
Con Kolivas
7e2dcc6fff Create parse_stratum function that hands off stratum parameters to other functions to manage pool stratum work struct variables.
Implement mining difficulty setting.
2012-09-28 05:16:52 +10:00
Con Kolivas
a6f1a62220 Create helper functions for checking when a socket is ready to read on and receive a single line at a time.
Begin stratum authorisation process.
2012-09-28 04:35:16 +10:00
Con Kolivas
07e6bd1262 Provide a helper function for reading a single \n terminated string from a socket. 2012-09-27 13:50:05 +10:00
Con Kolivas
f6f43500c0 Detect stratum in common place when adding urls, and use a bool to tell us when it's active. 2012-09-27 09:06:56 +10:00
Con Kolivas
8fd149eec9 Fix warnings. 2012-09-26 16:51:08 +10:00
Con Kolivas
e3f1b02e9a Extract and store various parameters on stratum init confirming successful mining notify. 2012-09-26 16:49:51 +10:00
Con Kolivas
c0de671c4f Use existing socket macros and close the socket on failure in init stratum. 2012-09-26 15:40:26 +10:00
Con Kolivas
a1b17229b8 Initiate stratum and grab first json result. 2012-09-26 15:23:01 +10:00
Con Kolivas
58873c1dfa Get detailed addressinfo from the parsed URL for future raw socket usage when possible. IPV4 only for now. 2012-09-25 20:23:59 +10:00
Con Kolivas
ee3b7865e2 Prepare for getaddrinfo call. 2012-09-25 05:46:07 +10:00
Kano
41dcb10d4c util.c - bug - proxy - no data end condition 2012-09-21 20:55:48 +10:00
Kano
bd3c98aaaf Optional WorkTime details with each Accepted/Rejected work item 2012-09-15 14:04:57 +10:00
Kano
e043f5a5aa bug: remove proxy: from the front of the proxy used 2012-09-12 08:32:00 +10:00
Kano
cef9731fbc CURL support for individual proxy per pool and all proxy types 2012-09-12 07:44:00 +10:00
Kano
d5f485c517 Pools: add RollTime info to API 'stats' and 'Stats' button in miner.php 2012-08-23 19:20:12 +10:00
Con Kolivas
8745ba1e6d Windows' timer resolution is limited to 15ms accuracy. This was breaking dynamic intensity since it tries to measure below this.
Since we are repeatedly sampling similar timeframes, we can average the gpu_us result over 5 different values to get very fine precision.
2012-08-15 09:38:45 +10:00
Luke Dashjr
9c648c1749 Bugfix: Calculate nsec in nmsleep correctly
The old algorithm (msecs * 1000000) - (sec / 1000000000) gets total nsec,
including seconds, since the sec/1e9 should be multiplying. It's also
vulnerable to easy overflows. Using ldiv gets the quotient and remainder
in a single operation (at least on x86) and avoids overflow.
2012-07-11 20:10:52 +00:00
Con Kolivas
bc0b14063f Cope with signals interrupting the nanosleep of nmsleep. 2012-07-08 21:35:19 +10:00
Con Kolivas
3271be145f Provide a ms based sleep function that uses nanosleep to avoid the inaccuracy of usleep on SMP systems. 2012-07-06 15:01:39 +10:00
ckolivas
1a43f79547 Mingw doesn't support asprintf, use sprintf. 2012-07-01 12:02:10 +10:00
ckolivas
1e9421475c Timersub is supported on all build platforms so do away with custom timerval_subtract function. 2012-07-01 10:44:23 +10:00
ckolivas
75ea616422 Minor style police on util.c 2012-07-01 10:35:08 +10:00
ckolivas
8f954d40ec Get rid of unused result warning with asprintf. 2012-07-01 10:17:12 +10:00
Con Kolivas
3267b534a8 Implement rudimentary X-Mining-Hashrate support. 2012-06-28 10:43:52 +10:00
ckolivas
c5a21fabf0 Extend nrolltime to support the expiry= parameter. Do this by turning the rolltime bool into an integer set to the expiry time. If the pool supports rolltime but not expiry= then set the expiry time to the standard scantime. 2012-06-23 23:43:22 +10:00
Con Kolivas
268039cc7e Indentation clean up. 2012-04-28 00:32:47 +10:00
Con Kolivas
eda382990a Create one longpoll thread per pool, using backup pools for those pools that don't have longpoll.
Use the work created from the longpoll return only if we don't have failover-enabled, and only flag the work as a longpoll if it is the current pool.
This will work around the problem of trying to restart the single longpoll thread on pool changes that was leading to race conditions.
It will also have less work restarts from the multiple longpolls received from different pools.
2012-04-27 11:58:47 +10:00
Con Kolivas
9609dbc42d Set lp_path to NULL after free for consistency. 2012-04-20 21:09:37 +10:00
nelisky
17b9baa9da Removing dmalloc import left behind by mistake 2012-04-20 03:36:42 -07:00
nelisky
44bcb69ccd Fixing leak in resp_hdr_cb
Memory is allocated for key and val, and longpoll address, when found, is stored in the header_info and prevented from being freed there. This pointer is stored during pool probing but once that's done it was just being lost.

Not so visible but also leaking was the refuse reason string.
2012-04-19 14:45:40 -07:00
Luke Dashjr
ed8382c88d Make curses TUI support optional at compile-time. 2012-03-12 18:38:45 -04:00
Con Kolivas
d1cddf8bad Update licensing to GPL V3. 2012-02-21 22:23:07 +11:00
Con Kolivas
f4284a21a8 Set the lp_sent variable under lock since there will almost always be a race on setting this variable, potentially leading to multiple LPs being sent
out.
2012-02-21 09:22:04 +11:00
Con Kolivas
fe4b5e1fc6 Set the lp_sent bool earlier to minimise the number of extra longpolls sent out. 2012-02-20 08:26:46 +11:00
Con Kolivas
39906718d2 Keep track of when a longpoll has been sent for a pool and if the current pool is requesting work but has not sent a longpoll request, convert one of
the work items to a longpoll as we may have switched pools but still be using the longpoll from the previous pool.
2012-02-19 22:07:31 +11:00
Con Kolivas
810ad04578 More copyright updates. 2012-02-18 23:16:08 +11:00
Con Kolivas
be9db9ce63 Copyright updates. 2012-02-18 23:00:21 +11:00