I know it's possible to solo mine XMR using XMRig through some pools, but I'd like to try to solo mining on my own, with no pools involved. As I have the intention to set up a public full node using monerod
, I have decided to also setup some miner rigs to solo mine with the arrangement represented in the picture below.
Explained:
- These 3 miners will be connecting to an internal private full node for new blocks to be mined. They will connect to the private
monerod
using the Daemon RPC interface. - The internal private full node will be syncing from the public one using
--add-exclusive-node
or--add-priority-node
whichever is better. Still don't know. - The public full node will be totally optimized for syncing with as many external nodes as possible so that generated blocks arrive as fast as possible (I still don't know how to setup for that).
- Personal wallets will connect to private full node to increase security.
- The proxy component was discarded because there are only 3 miners and I guess
monerod
is able to deal with them. I'll see...
Now my main question: Is this an optimal solution for solo mining?
Some concerns:
- As
monerod
looks a bit slow when syncing I'm not sure if it is the right tool to be used for getting new blocks to be mined. - If
monerod
gives exactly the same jobs to all 3 miners, XMRig could end up waisting CPU by computing the same hashes in each rig. But apparently it won't happen although I'm not totally sure so I need confirmation. According to RandomX docs it looks like randomness happens for each result hash on program initialization stage (not sure now), they all use the same key (K) that RandomX gets as input together with the block data to be hashed (H), then a 1st random program is generated to get each result hash, so it is suposed that there won't be a problem getting the same data frommonerod
. Could anyone confirm this?
An improvement:
- Would it be an improvement connecting the miners to a public full node?
- Would then the security for the private full node be compromised?