⛏️ 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=p2pmd.xmrvsbeast.com:18081 
    --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 😄
  • Rikj000@discuss.tchncs.deOP
    link
    fedilink
    English
    arrow-up
    2
    ·
    11 months ago

    Note: For some reason, starting from v3.7, p2pool docs say --out-peers 32 --in-peers 64 (in is bigger);
    probably just typos.

    Oh did not know that, will alter the post accordingly!
    Did a little digging as to why, and found the commit which changed it 🙂

    Commit message:
    Documentation: recommend more in-peers - This will balance out peers which can only have outgoing connections.
    https://github.com/SChernykh/p2pool/commit/7b02c3d24a43b922b2568c883009df40e4aab013

    However, it is free software and you’re free to study how the program works,
    and change it anyway as you wish, if you’d like to.

    There are donation-less builds floating around, which I will not link, out of respect for the XMRig dev.

    Happy studying, happy ethical hacking, happy mining, and happy holidays! Have happiness that money can’t buy :)

    Thank you for your comment, wishing you happy holidays as well! 🎁

    • Saki@monero.town
      link
      fedilink
      English
      arrow-up
      3
      ·
      11 months ago

      Ah, incoming is now bigger intentionally! Thanks for sharing this :)

      donation-less builds floating around, which I will not link, out of respect for the XMRig dev.

      I wouldn’t recommend a random build “floating around”, not because doing so is disrespectful to the original dev, but because it might be dangerous.

      If a random anonymous person A says, “Use this build B. It’s better!” and a user C does so without suspecting a thing, C is likely to be in big trouble sooner or later: even if A is an ethical hacker and B is a good build, such a mental attitude of C seems dangerous, especially when the tool is crypto-related. Because Person A could trivially share good source code (donation just commented out), but compiled different (evil) source code and share them with the said good code 😓
      If 1% is big for you, or you have privacy concerns about remote connections for donation, well, you might want to think about something obvious: blocking remote connections is easy when xmrig just needs to talk to 127.0.0.1.