My next task is to get a MPOS pool running locally on linux box for private use
Any tips for configs appreciated
When Diamond switched to Groestl, we had hard time, because of several factors:
- the traditionally used stratum-mining (in python, recent versions by ahmedbodi) was in hopeless state and required gross hacks to make it work with groestl. I hear it is in better shape now... totally forgot about it myself
The rest of this ignores this stratum server, but you could use it if you prefer. It should work fine!
- it was unknown how to make stratum work. Now this is well known. You need to understand that 'groestl' and 'groestlcoin' are two different things and that GroestlCoin has in fact diverged from the protocol. It uses single sha256, while almost everyone else uses double sha256 for the transaction hashes. Some of the pool software is already aware of this, and has specific settings, like 'normal-hashing' to indicate you are not using that weirdness.
- MPOS is only the front-end. It expects that the stratum or pushpool server will insert the shares submitted by miners in the database. Then it would assign shares of the mined block to miners and generate (internal) transactions. In fact, MPOS handles everything but the actual work distribution to the miners.
- There is another project, NOMP, which is an MPOS like (but different philosophy) front-end and very good stratum server. It already has support for Groestl (
https://github.com/zone117x/node-open-mining-portal). It is extremely lightweight -- none of the processes consumes even 1% of an CPU core. As it should -- what the stratum server does is indeed trivial. Here is my definition for Diamond:
{
"name": "Diamond",
"symbol": "DMD",
"algorithm": "groestl",
"txMessages": false,
"normalHashing": true,
"peerMagic": "e4e8dbfd",
"peerMagicTestnet": "cdf2c0ef"
}
- Since Diamond requires that you include foundation contribution in every block, you need to set that up in NOMP. The easiest way is to have
"rewardRecipients": {
"dZi9hpA5nBC6tSAbPSsiMjb6HeQTprcWHz": 4.762
},
in the pool config file. This produces slightly over 0.05 DMD but is bearable.. I hope to revisit this code one day, and do it properly.
- You need to enable MPOS mode. There is a nice guide how to configure NOMP otherwise.
Hope this helps.
OK another problem when I try
diamondd getinfo I get an error about authoritative hostname
error: resolve: Host not found (authoritative)
Not sure what problem is I have /etc/hostname and /etc/hosts configured
cloning NOMP git now, I'll forget MPOS and use NOMP in MPOS mode since you seem to be more familiar with it.
NOMP up and running
Heres my reward recipients for Foundation and Donation 1% to pool upkeep
(These figures are not adjusted for transmission fee I'll fine tune later)
rewardRecipients": {
"dZi9hpA5nBC6tSAbPSsiMjb6HeQTprcWHz" : 4.76190477,
"dEdj7aH7Pgt3oVAeEFmA46sXCDcZYeiQjP" : 0.95238095
},
Now I gotta find a block or two on it and see if payouts working ...
3 wallets with diff address now (Pool, Donation, Private for minting)