AstroBWT algorithm (DERO) support

To test:

- Download https://github.com/deroproject/derosuite/releases/tag/AstroBWT
- Run daemon with `--testnet` in command line

In config.json:
- "coin":"dero"
- "url":"127.0.0.1:30306"
- "daemon:"true"
This commit is contained in:
SChernykh 2020-02-29 22:41:24 +01:00
parent 2cd45a9e38
commit 14ef99ca67
29 changed files with 2316 additions and 11 deletions

View file

@ -124,6 +124,9 @@ static AlgoName const algorithm_names[] = {
{ "chukwa", nullptr, Algorithm::AR2_CHUKWA },
{ "argon2/wrkz", nullptr, Algorithm::AR2_WRKZ },
# endif
# ifdef XMRIG_ALGO_ASTROBWT
{ "astrobwt/dero", nullptr, Algorithm::ASTROBWT_DERO },
# endif
};
@ -210,6 +213,18 @@ size_t xmrig::Algorithm::l3() const
}
# endif
# ifdef XMRIG_ALGO_ASTROBWT
if (f == ASTROBWT) {
switch (m_id) {
case ASTROBWT_DERO:
return oneMiB * 20;
default:
break;
}
}
# endif
return 0;
}
@ -228,6 +243,12 @@ uint32_t xmrig::Algorithm::maxIntensity() const
}
# endif
# ifdef XMRIG_ALGO_ASTROBWT
if (family() == ASTROBWT) {
return 1;
}
# endif
# ifdef XMRIG_ALGO_CN_GPU
if (m_id == CN_GPU) {
return 1;
@ -291,6 +312,11 @@ xmrig::Algorithm::Family xmrig::Algorithm::family(Id id)
return ARGON2;
# endif
# ifdef XMRIG_ALGO_ASTROBWT
case ASTROBWT_DERO:
return ASTROBWT;
# endif
default:
break;
}

View file

@ -71,6 +71,7 @@ public:
RX_SFX, // "rx/sfx" RandomSFX (Safex Cash).
AR2_CHUKWA, // "argon2/chukwa" Argon2id (Chukwa).
AR2_WRKZ, // "argon2/wrkz" Argon2id (WRKZ)
ASTROBWT_DERO, // "astrobwt/dero" AstroBWT (Dero)
MAX
};
@ -81,7 +82,8 @@ public:
CN_HEAVY,
CN_PICO,
RANDOM_X,
ARGON2
ARGON2,
ASTROBWT
};
inline Algorithm() = default;

View file

@ -50,7 +50,8 @@ static CoinName const coin_names[] = {
{ "monero", Coin::MONERO },
{ "xmr", Coin::MONERO },
{ "arqma", Coin::ARQMA },
{ "arq", Coin::ARQMA }
{ "arq", Coin::ARQMA },
{ "dero", Coin::DERO },
};
@ -67,6 +68,9 @@ xmrig::Algorithm::Id xmrig::Coin::algorithm(uint8_t blobVersion) const
case ARQMA:
return (blobVersion >= 15) ? Algorithm::RX_ARQ : Algorithm::CN_PICO_0;
case DERO:
return (blobVersion >= 4) ? Algorithm::ASTROBWT_DERO : Algorithm::CN_0;
case INVALID:
break;
}

View file

@ -40,7 +40,8 @@ public:
enum Id : int {
INVALID = -1,
MONERO,
ARQMA
ARQMA,
DERO
};