====== git update xmr-stak a xmrig-proxy ======
===== Incorrect algorithm =====
* oficiální xmr-stak TRTL netěží přes moji xmrig-proxy, protože:
>> {"method":"submit","params":{"id":"8aa1d53d-4307-43a1-83d7-3423aa23c9c5", "job_id":"565206028590910470","nonce":"68130047", "result":"200d35d1c3a9f24bebffe04f43cf53262c215239c0ee756c3fc06d6aaf090100", "algo":"cryptonight_lite"},"id":1}
<< {"id":1,"jsonrpc":"2.0","error":{"code":-1,"message":"Incorrect algorithm"}}
* prostě miner hlasí, že používá cryptonight_lite, ale proxy očekává jiný
* na proxy mám nastaveno algo na cryptonight-lite, variant -1
* [[https://github.com/xmrig/xmrig-proxy/blob/dev/doc/STRATUM_EXT.md#11-miner-defined-algorithms-list|xmrig-proxy převodní tabulka]] říká, že:
^ Long name ^ Short name ^ Base algorithm ^ Variant ^ Notes ^
| cryptonight-lite | cn-lite | cn-lite | -1 | Autodetect works only for Aeon. |
| cryptonight-lite/0 | cn-lite/0 | cn-lite | 0 | Original/old CryptoNight-Lite. |
^ XMR-Stak name ^ XMRig Short name ^
| cryptonight_lite | cn-lite/0 |
| cryptonight_lite_v7 | cn-lite/1 |
* z tabulky plyne, že bych měl proxy nastavit variantu 0, aby to fungovalo s xmr-stak
* ve skutečnosti je problém ale v xmr-stak, protože hlasí starý alg
* opravil jsem v xmr-stak
==== Poznámky ====
* fix jsem provedl v xmrstak/jconf.cpp definice mincí
* všude u řádků s fork version 255 jsem zkopíroval algoroot do algo
/* BARI note:
* userpool/devpool is coinDescription
* devpool is selected when oWork.iPoolId set to 0
* coinDescription is {algo, algo_root, fork_version}
* algo is when version >= fork_version (after fork), algo_root is < fork_version (before fork)
* fork_version 255u is max value => algoroot selected all the time?? but... submit work is always algo!!!
* I HAVE FIXED WRONG LINES WITH FORK VERSION 255 IN USERPOOL
*
* xmrig-proxy algo table:
* https://github.com/xmrig/xmrig-proxy/blob/dev/doc/STRATUM_EXT.md#11-miner-defined-algorithms-list
* xmrig-proxy/src/common/crypto/Algorithm.cpp
*/
xmrstak::coin_selection coins[] = {
// name, userpool, devpool, default_pool_suggestion
{ "alloy", {cryptonight_alloy, cryptonight_alloy, 0u}, {cryptonight_alloy, cryptonight_alloy, 0u}, nullptr},
{ "aeon7", {cryptonight_aeon, cryptonight_lite, 7u}, {cryptonight_aeon, cryptonight_lite, 7u}, nullptr},
{ "bbscoin", {cryptonight_monero, cryptonight, 3u}, {cryptonight_monero, cryptonight_monero, 0u}, nullptr },
{ "croat", {cryptonight_monero, cryptonight, 255u}, {cryptonight_monero, cryptonight_monero, 0u}, nullptr },
{ "cryptonight", {cryptonight, cryptonight, 255u}, {cryptonight_monero, cryptonight_monero, 0u}, nullptr },
{ "cryptonight_masari", {cryptonight_masari, cryptonight_masari, 255u}, {cryptonight_monero, cryptonight_monero, 0u},nullptr },
{ "cryptonight_haven", {cryptonight_haven, cryptonight_haven, 255u}, {cryptonight_heavy, cryptonight_heavy, 0u}, nullptr },
{ "cryptonight_heavy", {cryptonight_heavy, cryptonight_heavy, 0u}, {cryptonight_heavy, cryptonight_heavy, 0u}, nullptr },
{ "cryptonight_lite", {cryptonight_lite, cryptonight_lite, 255u}, {cryptonight_aeon, cryptonight_lite, 7u}, nullptr },
{ "cryptonight_lite_v7", {cryptonight_aeon, cryptonight_aeon, 255u}, {cryptonight_aeon, cryptonight_lite, 7u}, nullptr },
{ "cryptonight_lite_v7_xor", {cryptonight_ipbc, cryptonight_ipbc, 255u}, {cryptonight_aeon, cryptonight_aeon, 255u}, nullptr },
{ "cryptonight_v7", {cryptonight_monero, cryptonight_monero, 0u}, {cryptonight_monero, cryptonight_monero, 0u}, nullptr },
{ "cryptonight_v7_stellite", {cryptonight_stellite, cryptonight_stellite, 255u}, {cryptonight_monero, cryptonight_monero, 255u}, nullptr },
{ "edollar", {cryptonight_monero, cryptonight, 255u}, {cryptonight_monero, cryptonight_monero, 0u}, nullptr },
{ "electroneum", {cryptonight, cryptonight, 255u}, {cryptonight_monero, cryptonight_monero, 0u}, nullptr },
{ "graft", {cryptonight_monero, cryptonight, 8u}, {cryptonight_monero, cryptonight_monero, 0u}, nullptr },
{ "haven", {cryptonight_haven, cryptonight_heavy, 3u}, {cryptonight_heavy, cryptonight_heavy, 0u}, nullptr },
{ "intense", {cryptonight_monero, cryptonight, 4u}, {cryptonight_monero, cryptonight_monero, 0u}, nullptr },
{ "ipbc", {cryptonight_ipbc, cryptonight_ipbc, 255u}, {cryptonight_aeon, cryptonight_aeon, 255u}, nullptr },
{ "karbo", {cryptonight, cryptonight, 255u}, {cryptonight_monero, cryptonight_monero, 0u}, nullptr },
{ "masari", {cryptonight_masari, cryptonight_monero, 7u}, {cryptonight_monero, cryptonight_monero, 0u},nullptr },
{ "monero7", {cryptonight_monero, cryptonight_monero, 0u}, {cryptonight_monero, cryptonight_monero, 0u}, nullptr },
{ "stellite", {cryptonight_stellite, cryptonight_monero, 4u}, {cryptonight_monero, cryptonight_monero, 0u}, nullptr },
{ "sumokoin", {cryptonight_heavy, cryptonight_heavy, 0u}, {cryptonight_heavy, cryptonight_heavy, 0u}, nullptr },
{ "turtlecoin", {cryptonight_aeon, cryptonight_aeon, 255u}, {cryptonight_aeon, cryptonight_lite, 7u}, nullptr }
};
* v xmrstak/net/jpsock.cpp je definice funkce cmd_submit obsahující přepis alg na aliasy použité v submit
* reportuje se vždycky algo bez ohledu na verzi forku
switch(algo)
{
case cryptonight:
algo_name = "cryptonight";
break;
case cryptonight_lite:
algo_name = "cryptonight_lite";
break;
case cryptonight_monero:
algo_name = "cryptonight_v7";
break;
case cryptonight_aeon:
algo_name = "cryptonight_lite_v7";
break;
case cryptonight_stellite:
algo_name = "cryptonight_v7_stellite";
break;
case cryptonight_alloy:
algo_name = "cryptonight-alloy";
break;
case cryptonight_ipbc:
algo_name = "cryptonight_lite_v7_xor";
break;
case cryptonight_heavy:
algo_name = "cryptonight_heavy";
break;
case cryptonight_haven:
algo_name = "cryptonight_haven";
break;
case cryptonight_masari:
algo_name = "cryptonight_masari";
break;
default:
algo_name = "unknown";
break;
}
* xmrig-proxy parametr algo má podle zdrojáku Algorithm.cpp Algorithm::ParseAlgorithm hodnoty
cryptonight
cryptonight-lite
cryptonight-light
cryptonight-heavy
* když na proxy nastavím algo cryptonight, pak
* variant -1 - oficiaální xmr-stak nejede, dřívější xmr-stak-trtl jedou, fixnutá verze nejede
* variant 0 - oficiaální xmr-stak jede, dřívější xmr-stak-trtl nejedou, fixnutá verze nejede
* variant 1 - oficiaální xmr-stak nejede, dřívější xmr-stak-trtl nejedou, fixnutá verze jede
nejradsi bych uplne zrusil tu kontrolu alg na proxy.. to dela vic skody nez uzitku kruci :D
==== TODO ====
* porovnej vykon noveho cnl1 a trtl na 8c8k... rekl bych, ze je tam polovicni :D viz screen v pictures
* přidat do xmr-stak bittube v2
===== UPX segfault =====
* druhý problém je s UPX (komprimací binárky)
* když ho aplikuji na binarku, tak po spusteni haze segfault :(
* neexistuje novější verze než kterou mám v systému
upx -V
upx 3.94
UCL data compression library 1.03
zlib data compression library 1.2.11
LZMA SDK version 4.43
Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2017 Laszlo Molnar
Copyright (C) 2000-2017 John F. Reiser
Copyright (C) 2002-2017 Jens Medoch
Copyright (C) 1995-2005 Jean-loup Gailly and Mark Adler
Copyright (C) 1999-2006 Igor Pavlov
UPX comes with ABSOLUTELY NO WARRANTY; for details type 'upx -L'.
* zjistil jsem, že když použiji fast compression, tak to segfault neháže