|
|
@ -251,9 +251,11 @@ Options:\n\ |
|
|
|
dmd-gr Diamond-Groestl\n\ |
|
|
|
dmd-gr Diamond-Groestl\n\ |
|
|
|
fresh Freshcoin (shavite 80)\n\ |
|
|
|
fresh Freshcoin (shavite 80)\n\ |
|
|
|
fugue256 Fuguecoin\n\ |
|
|
|
fugue256 Fuguecoin\n\ |
|
|
|
groestl Groestlcoin\n\ |
|
|
|
groestl Groestlcoin\n" |
|
|
|
heavy Heavycoin\n\ |
|
|
|
#ifdef WITH_HEAVY_ALGO |
|
|
|
hmq1725 Doubloons / Espers\n\ |
|
|
|
" heavy Heavycoin\n" |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
" hmq1725 Doubloons / Espers\n\
|
|
|
|
jackpot JHA v8\n\ |
|
|
|
jackpot JHA v8\n\ |
|
|
|
keccak Deprecated Keccak-256\n\ |
|
|
|
keccak Deprecated Keccak-256\n\ |
|
|
|
keccakc Keccak-256 (CreativeCoin)\n\ |
|
|
|
keccakc Keccak-256 (CreativeCoin)\n\ |
|
|
@ -262,7 +264,6 @@ Options:\n\ |
|
|
|
lyra2 CryptoCoin\n\ |
|
|
|
lyra2 CryptoCoin\n\ |
|
|
|
lyra2v2 VertCoin\n\ |
|
|
|
lyra2v2 VertCoin\n\ |
|
|
|
lyra2z ZeroCoin (3rd impl)\n\ |
|
|
|
lyra2z ZeroCoin (3rd impl)\n\ |
|
|
|
mjollnir Mjollnircoin\n\ |
|
|
|
|
|
|
|
myr-gr Myriad-Groestl\n\ |
|
|
|
myr-gr Myriad-Groestl\n\ |
|
|
|
neoscrypt FeatherCoin, Phoenix, UFO...\n\ |
|
|
|
neoscrypt FeatherCoin, Phoenix, UFO...\n\ |
|
|
|
nist5 NIST5 (TalkCoin)\n\ |
|
|
|
nist5 NIST5 (TalkCoin)\n\ |
|
|
@ -304,8 +305,6 @@ Options:\n\ |
|
|
|
--cuda-schedule Set device threads scheduling mode (default: auto)\n\ |
|
|
|
--cuda-schedule Set device threads scheduling mode (default: auto)\n\ |
|
|
|
-f, --diff-factor Divide difficulty by this factor (default 1.0) \n\ |
|
|
|
-f, --diff-factor Divide difficulty by this factor (default 1.0) \n\ |
|
|
|
-m, --diff-multiplier Multiply difficulty by this value (default 1.0) \n\ |
|
|
|
-m, --diff-multiplier Multiply difficulty by this value (default 1.0) \n\ |
|
|
|
--vote=VOTE vote (for HeavyCoin)\n\ |
|
|
|
|
|
|
|
--trust-pool trust the max block reward vote (maxvote) sent by the pool\n\ |
|
|
|
|
|
|
|
-o, --url=URL URL of mining server\n\ |
|
|
|
-o, --url=URL URL of mining server\n\ |
|
|
|
-O, --userpass=U:P username:password pair for mining server\n\ |
|
|
|
-O, --userpass=U:P username:password pair for mining server\n\ |
|
|
|
-u, --user=USERNAME username for mining server\n\ |
|
|
|
-u, --user=USERNAME username for mining server\n\ |
|
|
@ -1555,10 +1554,12 @@ static bool stratum_gen_work(struct stratum_ctx *sctx, struct work *work) |
|
|
|
case ALGO_SIA: |
|
|
|
case ALGO_SIA: |
|
|
|
// getwork over stratum, no merkle to generate
|
|
|
|
// getwork over stratum, no merkle to generate
|
|
|
|
break; |
|
|
|
break; |
|
|
|
|
|
|
|
#ifdef WITH_HEAVY_ALGO |
|
|
|
case ALGO_HEAVY: |
|
|
|
case ALGO_HEAVY: |
|
|
|
case ALGO_MJOLLNIR: |
|
|
|
case ALGO_MJOLLNIR: |
|
|
|
heavycoin_hash(merkle_root, sctx->job.coinbase, (int)sctx->job.coinbase_size); |
|
|
|
heavycoin_hash(merkle_root, sctx->job.coinbase, (int)sctx->job.coinbase_size); |
|
|
|
break; |
|
|
|
break; |
|
|
|
|
|
|
|
#endif |
|
|
|
case ALGO_FUGUE256: |
|
|
|
case ALGO_FUGUE256: |
|
|
|
case ALGO_GROESTL: |
|
|
|
case ALGO_GROESTL: |
|
|
|
case ALGO_KECCAK: |
|
|
|
case ALGO_KECCAK: |
|
|
@ -1573,9 +1574,11 @@ static bool stratum_gen_work(struct stratum_ctx *sctx, struct work *work) |
|
|
|
|
|
|
|
|
|
|
|
for (i = 0; i < sctx->job.merkle_count; i++) { |
|
|
|
for (i = 0; i < sctx->job.merkle_count; i++) { |
|
|
|
memcpy(merkle_root + 32, sctx->job.merkle[i], 32); |
|
|
|
memcpy(merkle_root + 32, sctx->job.merkle[i], 32); |
|
|
|
|
|
|
|
#ifdef WITH_HEAVY_ALGO |
|
|
|
if (opt_algo == ALGO_HEAVY || opt_algo == ALGO_MJOLLNIR) |
|
|
|
if (opt_algo == ALGO_HEAVY || opt_algo == ALGO_MJOLLNIR) |
|
|
|
heavycoin_hash(merkle_root, merkle_root, 64); |
|
|
|
heavycoin_hash(merkle_root, merkle_root, 64); |
|
|
|
else |
|
|
|
else |
|
|
|
|
|
|
|
#endif |
|
|
|
sha256d(merkle_root, merkle_root, 64); |
|
|
|
sha256d(merkle_root, merkle_root, 64); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -2368,14 +2371,14 @@ static void *miner_thread(void *userdata) |
|
|
|
case ALGO_HSR: |
|
|
|
case ALGO_HSR: |
|
|
|
rc = scanhash_hsr(thr_id, &work, max_nonce, &hashes_done); |
|
|
|
rc = scanhash_hsr(thr_id, &work, max_nonce, &hashes_done); |
|
|
|
break; |
|
|
|
break; |
|
|
|
|
|
|
|
#ifdef WITH_HEAVY_ALGO |
|
|
|
case ALGO_HEAVY: |
|
|
|
case ALGO_HEAVY: |
|
|
|
rc = scanhash_heavy(thr_id, &work, max_nonce, &hashes_done, work.maxvote, HEAVYCOIN_BLKHDR_SZ); |
|
|
|
rc = scanhash_heavy(thr_id, &work, max_nonce, &hashes_done, work.maxvote, HEAVYCOIN_BLKHDR_SZ); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case ALGO_MJOLLNIR: |
|
|
|
case ALGO_MJOLLNIR: |
|
|
|
rc = scanhash_heavy(thr_id, &work, max_nonce, &hashes_done, 0, MNR_BLKHDR_SZ); |
|
|
|
rc = scanhash_heavy(thr_id, &work, max_nonce, &hashes_done, 0, MNR_BLKHDR_SZ); |
|
|
|
break; |
|
|
|
break; |
|
|
|
|
|
|
|
#endif |
|
|
|
case ALGO_KECCAK: |
|
|
|
case ALGO_KECCAK: |
|
|
|
case ALGO_KECCAKC: |
|
|
|
case ALGO_KECCAKC: |
|
|
|
rc = scanhash_keccak256(thr_id, &work, max_nonce, &hashes_done); |
|
|
|
rc = scanhash_keccak256(thr_id, &work, max_nonce, &hashes_done); |
|
|
|