|
|
@ -1065,6 +1065,8 @@ void static RandomXMiner() |
|
|
|
cancelSolver = true; |
|
|
|
} |
|
|
|
); |
|
|
|
miningTimer.start(); |
|
|
|
|
|
|
|
randomx_flags flags = randomx_get_flags(); |
|
|
|
// TODO: attempt to use large pages and fall back to no large pages
|
|
|
|
// flags |= RANDOMX_FLAG_LARGE_PAGES;
|
|
|
@ -1087,7 +1089,20 @@ void static RandomXMiner() |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
miningTimer.start(); |
|
|
|
|
|
|
|
char randomxHash[RANDOMX_HASH_SIZE]; |
|
|
|
rxdebug("%s: created randomxHash of size %d\n", RANDOMX_HASH_SIZE); |
|
|
|
char randomxKey[82]; // randomx spec says keysize of >60 bytes is implementation-specific
|
|
|
|
// initial randomx key is unique to every Hush Smart Chain, and has at least 9 bytes (2^9=128 bits) of entropy
|
|
|
|
// since magic is 4 bytes, rpc port is 4 bytes and smart chain symbol must be at least 1 character long
|
|
|
|
snprintf(randomxKey, 81, "%08x%s%08x", ASSETCHAINS_MAGIC, SMART_CHAIN_SYMBOL, ASSETCHAINS_RPCPORT); |
|
|
|
|
|
|
|
// With the defaults of 1024 and 64
|
|
|
|
// the key block will change every ~21.3 hours with a 75s block time
|
|
|
|
// and every ~17 hours with the default 60s block time for HSCs
|
|
|
|
int randomxInterval = GetArg("-ac_randomx_interval",1024); |
|
|
|
// This lag is 80 mins for 75s blocktime and 64 mins for 60s (default) blocktime for HSCs
|
|
|
|
int randomxBlockLag = GetArg("-ac_randomx_lag", 64); |
|
|
|
|
|
|
|
try { |
|
|
|
// fprintf(stderr,"RandomXMiner: mining %s with randomx\n",SMART_CHAIN_SYMBOL);
|
|
|
@ -1138,19 +1153,6 @@ void static RandomXMiner() |
|
|
|
Mining_start = (uint32_t)time(NULL); |
|
|
|
} |
|
|
|
|
|
|
|
char randomxHash[RANDOMX_HASH_SIZE]; |
|
|
|
rxdebug("%s: created randomxHash of size %d\n", RANDOMX_HASH_SIZE); |
|
|
|
char randomxKey[82]; // randomx spec says keysize of >60 bytes is implementation-specific
|
|
|
|
// initial randomx key is unique to every Hush Smart Chain, and has at least 9 bytes (2^9=128 bits) of entropy
|
|
|
|
// since magic is 4 bytes, rpc port is 4 bytes and smart chain symbol must be at least 1 character long
|
|
|
|
snprintf(randomxKey, 81, "%08x%s%08x", ASSETCHAINS_MAGIC, SMART_CHAIN_SYMBOL, ASSETCHAINS_RPCPORT); |
|
|
|
|
|
|
|
// With the defaults of 1024 and 64
|
|
|
|
// the key block will change every ~21.3 hours with a 75s block time
|
|
|
|
// and every ~17 hours with the default 60s block time for HSCs
|
|
|
|
int randomxInterval = GetArg("-ac_randomx_interval",1024); |
|
|
|
// This lag is 80 mins for 75s blocktime and 64 mins for 60s (default) blocktime for HSCs
|
|
|
|
int randomxBlockLag = GetArg("-ac_randomx_lag", 64); |
|
|
|
|
|
|
|
// fprintf(stderr,"RandomXMiner: using initial key with interval=%d and lag=%d\n", randomxInterval, randomxBlockLag);
|
|
|
|
rxdebug("%s: using initial key, interval=%d, lag=%d, Mining_height=%u\n", randomxInterval, randomxBlockLag, Mining_height); |
|
|
|