mirror of
https://github.com/jb55/nostril.git
synced 2024-11-21 16:29:06 -05:00
pubkey mining stats
Signed-off-by: William Casarin <jb55@jb55.com>
This commit is contained in:
parent
3b8dea4c59
commit
250a5edbb3
15
nostril.c
15
nostril.c
|
@ -253,6 +253,12 @@ static int generate_key(secp256k1_context *ctx, struct key *key, int *difficulty
|
|||
return create_key(ctx, key);
|
||||
}
|
||||
|
||||
uint64_t attempts = 0;
|
||||
uint64_t duration;
|
||||
double pers;
|
||||
struct timespec t1, t2;
|
||||
|
||||
clock_gettime(CLOCK_MONOTONIC, &t1);
|
||||
while (1) {
|
||||
if (!fill_random(key->secret, sizeof(key->secret)))
|
||||
continue;
|
||||
|
@ -260,10 +266,17 @@ static int generate_key(secp256k1_context *ctx, struct key *key, int *difficulty
|
|||
if (!create_key(ctx, key))
|
||||
return 0;
|
||||
|
||||
if (count_leading_zero_bits(key->pubkey) >= *difficulty)
|
||||
attempts++;
|
||||
|
||||
if (count_leading_zero_bits(key->pubkey) >= *difficulty) {
|
||||
clock_gettime(CLOCK_MONOTONIC, &t2);
|
||||
duration = ((t2.tv_sec - t1.tv_sec) * 1e9L + (t2.tv_nsec - t1.tv_nsec)) / 1e6L;
|
||||
pers = (double)attempts / (double)duration;
|
||||
fprintf(stderr, "mined pubkey after %" PRIu64 " attempts, %" PRId64 " ms, %f attempts per ms\n", attempts, duration, pers);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static int init_secp_context(secp256k1_context **ctx)
|
||||
|
|
Loading…
Reference in New Issue
Block a user