⛏️ Fair CPU pool mining introduction
Monero (XMR) is one of the only projects
which offer a way of mining in a pool as it should be implemented,
with P2Pool:

  • Fair - Instant payouts according to your share.
  • Decentralized - No pool owners - No centralized party handling the P2Pool.
  • Decentralized - Pool participants - Due to the RandomX algorithm being used, no specialized Antic miners can be built for XMR. Meaning that an average Joe can still participate and earn shares with their CPU.
  • Private - XMR itself continuously aims for the best possible privacy cryptography can offer.

Source Code / Links:

⛏️ Fair CPU pool mining guide
This guide will help you setting up a fair Monero miner,
please note, that you still will have to create your own config files for:
Gupax, P2Pool and XMRig

  1. Use Monero GUI to create a wallet
  2. Use Monero GUI to run your own monerod instance (Monero Node daemon),
    configure following startup flags under:
    Monero GUI => Settings => Node => Daemon startup flags:
    --zmq-pub=tcp://127.0.0.1:18083 
    --out-peers 32 
    --in-peers 64 
    --add-priority-node=uwillrunanodesoon.moneroworld.com:18089 
    --add-priority-node=nodes.hashvault.pro:18081 
    --disable-dns-checkpoints 
    --enable-dns-blocklist 
    --prune-blockchain 
    --sync-pruned-blocks 
    --db-sync-mode=safe
    --log-level 1
    

These startup flags will help with:

  • Blocking malicious nodes
  • Keeping your copy of the blockchain as small as possible
  • Provide logging incase a priority-node goes down
    (Use Monero Fail for replacements)
  1. Configure the P2Pool + XMRig binary paths in Gupax under:
    Gupax => Gupax => P2Pool/XMRig PATHs
  2. Use Gupax to run P2Pool,
    connect to your local monerod instance by configuring P2Pool as following:
    Gupax => P2Pool => P2Pool Mini => Fill in the following:
    Name = Local Monero Node
    IP = 127.0.0.1
    RPC = 18081
    ZMQ = 18083
    Out-peers = 32
    In-peers = 64
    
  3. Use Gupax to run XMRig,
    connect to your local P2Pool as following:
    Gupax => XMRig => Command arguments (configure --threads as desired):
    -c config.json 
    -o 127.0.0.1:3333 
    --http-host 127.0.0.1 
    --http-port 18088 
    --threads 30
    

This will make it possible to load a config.json file from the same directory as the XMRig binary

Notes

  • If you’re gonna run on normal end-user hardware (e.g. Desktop/Laptop/Smartphone), then I’d recommend to mine on P2Pool Mini instead of the main P2Pool
  • Your P2Pool wallet adress is public, periodically move mined funds to a new, truly private XMR wallet
  • My use-case? I mine to support the cause and to earn a little back from heating my room during winter times 😄