mirror of
https://github.com/GOSTSec/sgminer
synced 2025-01-09 14:28:12 +00:00
Remove as many initial zeroes as exist on share display, abstracting out a hash show function to use across different submission mechanisms.
This commit is contained in:
parent
6e63eebfe1
commit
57d6a6f697
46
cgminer.c
46
cgminer.c
@ -2710,6 +2710,27 @@ static void print_status(int thr_id)
|
|||||||
text_print_status(thr_id);
|
text_print_status(thr_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void show_hash(struct work *work, char *hashshow)
|
||||||
|
{
|
||||||
|
unsigned char rhash[32];
|
||||||
|
char diffdisp[16];
|
||||||
|
unsigned long h32;
|
||||||
|
uint32_t *hash32;
|
||||||
|
int intdiff, ofs;
|
||||||
|
|
||||||
|
swab256(rhash, work->hash);
|
||||||
|
for (ofs = 0; ofs <= 28; ofs ++) {
|
||||||
|
if (rhash[ofs])
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
hash32 = (uint32_t *)(rhash + ofs);
|
||||||
|
h32 = be32toh(*hash32);
|
||||||
|
intdiff = round(work->work_difficulty);
|
||||||
|
suffix_string(work->share_diff, diffdisp, sizeof (diffdisp), 0);
|
||||||
|
snprintf(hashshow, sizeof(hashshow), "%08lx Diff %s/%d%s", h32, diffdisp,
|
||||||
|
intdiff, work->block? " BLOCK!" : "");
|
||||||
|
}
|
||||||
|
|
||||||
static bool submit_upstream_work(struct work *work, CURL *curl, bool resubmit)
|
static bool submit_upstream_work(struct work *work, CURL *curl, bool resubmit)
|
||||||
{
|
{
|
||||||
char *hexstr = NULL;
|
char *hexstr = NULL;
|
||||||
@ -2803,20 +2824,7 @@ static bool submit_upstream_work(struct work *work, CURL *curl, bool resubmit)
|
|||||||
err = json_object_get(val, "error");
|
err = json_object_get(val, "error");
|
||||||
|
|
||||||
if (!QUIET) {
|
if (!QUIET) {
|
||||||
int intdiff = round(work->work_difficulty);
|
show_hash(work, hashshow);
|
||||||
char diffdisp[16], *outhash;
|
|
||||||
unsigned char rhash[32];
|
|
||||||
|
|
||||||
swab256(rhash, work->hash);
|
|
||||||
if (opt_scrypt)
|
|
||||||
outhash = bin2hex(rhash + 2, 4);
|
|
||||||
else
|
|
||||||
outhash = bin2hex(rhash + 4, 4);
|
|
||||||
suffix_string(work->share_diff, diffdisp, sizeof(diffdisp), 0);
|
|
||||||
snprintf(hashshow, sizeof(hashshow), "%s Diff %s/%d%s",
|
|
||||||
outhash, diffdisp, intdiff,
|
|
||||||
work->block? " BLOCK!" : "");
|
|
||||||
free(outhash);
|
|
||||||
|
|
||||||
if (opt_worktime) {
|
if (opt_worktime) {
|
||||||
char workclone[20];
|
char workclone[20];
|
||||||
@ -5183,16 +5191,8 @@ static void stratum_share_result(json_t *val, json_t *res_val, json_t *err_val,
|
|||||||
{
|
{
|
||||||
struct work *work = sshare->work;
|
struct work *work = sshare->work;
|
||||||
char hashshow[64];
|
char hashshow[64];
|
||||||
uint32_t *hash32;
|
|
||||||
char diffdisp[16];
|
|
||||||
int intdiff;
|
|
||||||
|
|
||||||
hash32 = (uint32_t *)(work->hash);
|
show_hash(work, hashshow);
|
||||||
intdiff = round(work->work_difficulty);
|
|
||||||
suffix_string(work->share_diff, diffdisp, sizeof (diffdisp), 0);
|
|
||||||
snprintf(hashshow, sizeof(hashshow),
|
|
||||||
"%08lx Diff %s/%d%s", (unsigned long)htole32(hash32[6]), diffdisp, intdiff,
|
|
||||||
work->block? " BLOCK!" : "");
|
|
||||||
share_result(val, res_val, err_val, work, hashshow, false, "");
|
share_result(val, res_val, err_val, work, hashshow, false, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user