Release 34
Breaking Changes
Starting with this release, supported coins are no longer hard coded but defined as templates in configuration files. This change should make it much easier to support old and new coins down the road.
Important
Pool configuration files need to be updated to work with this release. Whereas you previously referenced a coin by its trade symbol (BTC, XMR etc.), you now have to reference it by its id in the defining template file.
Miningcore ships with a default template file coins.json which gets always loaded and contains templates for all coins that have been supported up until now.
Old
{
"pools": [{
"id": "xmr1",
"coin": {
"type": "XMR"
}
}]
}
New
{
"pools": [{
"id": "xmr1",
"coin": "monero"
}]
}
Important
Another notable change from previous releases is the name of the generated entry assembly. In previous releases the file was named MiningCore.dll
, now it is Miningcore.dll
. Be sure to update your scripts.
Other changes
- The codebase has been completely refactored, cleaned up, generics use was toned down and simplified where possible and additionally namespaces have changed from MiningCore to Miningcore (non camel-case version) for all source files.
Adding or replacing coin templates
To add new coin templates or replace existing ones - including the ones in the default coins.json - you can augment your pool configuration file like this:
{
"coinTemplates": [
"/path/to/mycoins.json"
],
"pools": [
...
}
You don't have to manually include Miningcore's default coins.json in coinTemplates
. This will be done automatically.
Coins are categorized into several distinct families:
- Bitcoin (ancestor Bitcoin)
- Equihash (ancestor ZCash)
- Cryptonote (ancestor Monero)
- Ethereum (ancestor Ethereum)