Con Kolivas
7415d7aaa0
Begin implementing a hash database of submissions and attempt sending results.
12 years ago
Con Kolivas
aa93fa336c
Copy parameters from stratum work required for share submission.
12 years ago
Con Kolivas
ac47f7f3a6
Store and display stripped url in its own variable.
12 years ago
Con Kolivas
3db6fb4fac
Create machinery to divert work requests to stratum.
12 years ago
Con Kolivas
1f6fe55152
Generate the coinbase for generation of stratum based work.
12 years ago
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.
12 years ago
Con Kolivas
1221a80d41
Rename nonce2 to n2size reflecting that it's a size variable and not the actual nonce.
12 years ago
Con Kolivas
56255a0c86
Create a stratum thread per pool that has stratum that monitors the socket and serves received data.
12 years ago
Con Kolivas
9d4a44e88e
Create helper functions for duplicating json strings to avoid keeping json references in use.
12 years ago
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.
12 years ago
Con Kolivas
64df34cd4e
Create a stratum work structure to store current work variables.
12 years ago
Con Kolivas
f6f43500c0
Detect stratum in common place when adding urls, and use a bool to tell us when it's active.
12 years ago
Con Kolivas
e3f1b02e9a
Extract and store various parameters on stratum init confirming successful mining notify.
12 years ago
Con Kolivas
58873c1dfa
Get detailed addressinfo from the parsed URL for future raw socket usage when possible. IPV4 only for now.
12 years ago
Con Kolivas
144a016097
Add data structures to pool struct for socket communications.
12 years ago
Kano
7c32562d80
API stats add some pool getwork difficulty stats
12 years ago
Con Kolivas
57a73dce34
Test for sequential getwork failures on a pool that might actually be up but failing to deliver work as we may end up hammering it repeatedly by mistake.
12 years ago
Con Kolivas
618999026f
As we average gpu time over 5 work intervals for dynamic GPU intensity, there is no need to maintain a rolling average and it avoids the potential long term corruption of a single overflow value.
12 years ago
Kano
a6bf276f6b
API - Add last share difficulty for devices and pool
12 years ago
Kano
89b6989fb3
Store and report Accepted,Rejected,Stale difficulty in the summary and API
12 years ago
Kano
923b9e0d86
Calculate work difficulty for each getwork and display with WorkTime debug
12 years ago
Kano
796f3906c1
WorkTime - multiple nonce per work and identify the work source
12 years ago
Kano
bd3c98aaaf
Optional WorkTime details with each Accepted/Rejected work item
12 years ago
Kano
99f0607fb2
API add display of and setting queue,scantime,expiry
12 years ago
Kano
cef9731fbc
CURL support for individual proxy per pool and all proxy types
12 years ago
Kano
307d8da034
HW: error counter auto for all devices - ztex code not fixed
12 years ago
Kano
9487ba05cd
API/BFL identify a device - currently only BFL to flash the led
12 years ago
Kano
7a2407f15c
BFL add throttle count to internal stats + API
12 years ago
Kano
4023872b76
count device diff1 shares
12 years ago
Kano
a178039a65
miner.h max_hashes -> int64_t
12 years ago
Con Kolivas
618b3e8b11
Track queued and staged per pool once again for future use.
12 years ago
Kano
d5f485c517
Pools: add RollTime info to API 'stats' and 'Stats' button in miner.php
12 years ago
ckolivas
edd9b81622
Do not add time to dynamic opencl calculations over a getwork.
12 years ago
Kano
b3e9858c9f
API new command 'coin' with mining information
12 years ago
Kano
9210abdf60
API V1.17 show Work Utility and Diff1 Shares
12 years ago
Con Kolivas
26ab7346e3
Implement a new pool strategy, BALANCE, which monitors work performed per pool as a rolling average every 10 minutes to try and distribute work evenly over all the pools.
...
Do this by monitoring diff1 solutions to allow different difficulty target pools to be treated equally, along with solo mining.
Update the documentation to describe this strategy and more accurately describe the load-balance one.
12 years ago
Con Kolivas
d8c76bbd08
Getwork fail was not being detected. Remove a vast amount of unused variables and functions used in the old queue request mechanism and redefine the getfail testing.
12 years ago
Con Kolivas
c3e32274ee
Cull all the early queue requests since we request every time work is popped now.
12 years ago
Con Kolivas
5fadfdb219
Overlap queued decrementing with staged incrementing.
12 years ago
Con Kolivas
611f1cec7c
Roll work whenever we can on getwork.
12 years ago
Con Kolivas
fd0be1bb51
Queue requests for getwork regardless and test whether we should send for a getwork from the getwork thread itself.
12 years ago
Con Kolivas
2480cf23cc
Don't try to get bitforce temperature if we're polling for a result to minimise the chance of interleaved responses.
12 years ago
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.
12 years ago
Kano
95dff7363e
API allow display/change failover-only setting
12 years ago
Con Kolivas
8aa61f6626
Make sure we have work from the current pool somewhere in the queue in case the queue is full of requests from a pool that has just died.
12 years ago
Con Kolivas
8085ae6854
Further simplify the queue request mechanism.
12 years ago
Con Kolivas
3576abf8a7
Make pool_disabled the first in the enums == 0, fixing the pool enabled count which compares if value is not enabled before enabling it.
13 years ago
Con Kolivas
fc44b6d7a1
Use different variables for command line specified lookup gap and thread concurrency to differentiate user defined versus auto chosen values.
13 years ago
Con Kolivas
bf9c324752
The queueing mechanism has become a complex state machine that is no longer predictable. Rewrite it from scratch watching only current queues in flight and staged work available on a pool by pool basis.
13 years ago
Con Kolivas
7fa794a499
It is not critical getting the temperature response in bitforce so don't mandatorily wait on the mutex lock.
13 years ago