Welcome to Boletin.info   Click to listen highlighted text! Welcome to Boletin.info
Monero en casa: Monerod + P2Pool + XMRig (Guía práctica para empezar a minar con tu propio equipo)
Guía práctica: monta Monerod + P2Pool (mini) + XMRig en Debian con verificación por pasos y servicios systemd, minando a tu pool local con tu wallet.

Lic. Carlos Enrique Loría Beeche

Idea central: si tenés un servidor (o una VM) con buen CPU y disco, podés montar un stack completo de Monero: monerod (nodo) + P2Pool (pool descentralizado) + XMRig (minero CPU) apuntando a tu P2Pool local.

Objetivo: que quede estable, verificable y que arranque solo con systemd (sin depender de ventanas abiertas).


0) Requisitos y supuestos

  • Sistema: Debian 12 (x86_64).
  • Usuario sin root (ej: cloria) con sudo.
  • Un disco con espacio suficiente (si te sobra, mejor: evitás pruned al inicio).
  • Una wallet Monero (address principal empieza con 4). En este ejemplo usás tu wallet del Pi.

1) Estructura de carpetas (área de trabajo)

En este ejemplo vamos a usar un volumen con mucho espacio, por ejemplo:

/opt/mailcow-dockerized/monero

Creamos carpetas:

sudo mkdir -p /opt/mailcow-dockerized/monero/{bin,bitmonero,p2pool,xmrig}
sudo chown -R $USER:$USER /opt/mailcow-dockerized/monero
df -hT /opt/mailcow-dockerized/monero
ls -lah /opt/mailcow-dockerized/monero

Verificación esperada: verás tus directorios y espacio libre alto.


2) Instalar Monero CLI (monerod + monero-wallet-cli)

Entrá a la carpeta de trabajo y bajá el CLI oficial:

cd /opt/mailcow-dockerized/monero
cd bin

# Monero CLI (x64)
wget -O monero-cli.tar.bz2 https://downloads.getmonero.org/cli/linux64
tar -xjf monero-cli.tar.bz2
rm -f monero-cli.tar.bz2

# Mover binarios a /opt/.../monero/bin
# (el directorio extraído se llama parecido a monero-x86_64-linux-gnu-vX.Y.Z)
mv monero-*/monerod monero-*/monero-wallet-cli /opt/mailcow-dockerized/monero/bin/

# limpiar directorio extraído
rm -rf monero-*

/opt/mailcow-dockerized/monero/bin/monerod --version
/opt/mailcow-dockerized/monero/bin/monero-wallet-cli --version

Verificación esperada: te imprime la versión (ej: v0.18.4.5 o similar).


3) Arrancar monerod (nodo) con parámetros correctos para P2Pool

P2Pool requiere ZMQ y acceso RPC local. Vamos a usar:

  • P2P: 18080
  • RPC local: 127.0.0.1:18081
  • ZMQ local: 127.0.0.1:18083

Arranque manual (para validar primero):

/opt/mailcow-dockerized/monero/bin/monerod \
  --data-dir /opt/mailcow-dockerized/monero/bitmonero \
  --rpc-bind-ip 127.0.0.1 --rpc-bind-port 18081 --restricted-rpc \
  --p2p-bind-ip 0.0.0.0 --p2p-bind-port 18080 \
  --zmq-pub tcp://127.0.0.1:18083 \
  --out-peers 32 --in-peers 64 \
  --enforce-dns-checkpointing \
  --enable-dns-blocklist

3.1 Verificaciones de monerod

En otra terminal:

ss -lntp | egrep ':(18080|18081|18083)\b|monerod' || true
curl -s http://127.0.0.1:18081/get_info | head

Verificación esperada:

  • Ves puertos 18080/18081/18083 escuchando por monerod.
  • get_info devuelve JSON (altura, sincronización, etc.).

4) Instalar y correr P2Pool (modo mini recomendado)

Para hashrate CPU pequeño/medio, P2Pool mini suele ser más amigable con la varianza. (Mini = otra cadena de shares).

4.1 Hugepages (recomendado)

sudo sysctl vm.nr_hugepages=3072

4.2 Descargar P2Pool

Entrá a la carpeta:

cd /opt/mailcow-dockerized/monero/p2pool

Descargá el binario de P2Pool para Linux x64 desde su página de releases (ejemplo):

# EJEMPLO: reemplazá el link por el release actual linux-x64 si cambia
curl -L -o p2pool.tar.gz "https://sourceforge.net/projects/monero-p2pool.mirror/files/p2pool-v4.13-linux-x64.tar.gz/download"
tar -xzf p2pool.tar.gz
rm -f p2pool.tar.gz
ls -lah

4.3 Arrancar P2Pool contra tu monerod local

Definí tu wallet (address principal, empieza con 4):

WALLET_MAIN="PONE_AQUI_TU_ADDRESS_PRINCIPAL_QUE_EMPIEZA_CON_4"

Arranque:

cd /opt/mailcow-dockerized/monero/p2pool/*linux-x64* 2>/dev/null || cd /opt/mailcow-dockerized/monero/p2pool

./p2pool --host 127.0.0.1 --rpc-port 18081 --zmq-port 18083 --wallet "$WALLET_MAIN" --mini

Verificación esperada: P2Pool empieza a sincronizar su propio estado (tarda unos minutos).


5) Instalar XMRig y apuntarlo a tu P2Pool local

XMRig se conecta al pool local de P2Pool en 127.0.0.1:3333.

5.1 Descargar XMRig

cd /opt/mailcow-dockerized/monero/xmrig

# Intento con "latest" (si cambia el nombre, bajalo desde releases)
curl -L -o xmrig.tar.gz "https://github.com/xmrig/xmrig/releases/latest/download/xmrig-6.24.0-linux-static-x64.tar.gz"
tar -xzf xmrig.tar.gz
rm -f xmrig.tar.gz
ls -lah

5.2 Correr XMRig contra P2Pool

cd /opt/mailcow-dockerized/monero/xmrig/*xmrig* 2>/dev/null || cd /opt/mailcow-dockerized/monero/xmrig
./xmrig -o 127.0.0.1:3333

Verificación esperada: XMRig dice "connected" a 127.0.0.1:3333 y empieza a reportar hashrate.


6) Convertirlo en servicios systemd (arranque automático)

Cuando todo funcione manual, lo pasás a systemd para que:

  • Arranque solo al reiniciar.
  • Se reinicie si crashea.
  • Lo puedas monitorear con journalctl.

Nota: en esta guía dejamos los servicios como plantilla. En tu entorno real, revisá rutas y wallet.

6.1 monerod.service

sudo tee /etc/systemd/system/monerod.service >/dev/null <<'EOF'
[Unit]
Description=Monero Daemon (monerod)
After=network-online.target
Wants=network-online.target

[Service]
User=cloria
Group=cloria
Type=simple
ExecStart=/opt/mailcow-dockerized/monero/bin/monerod \
  --data-dir /opt/mailcow-dockerized/monero/bitmonero \
  --rpc-bind-ip 127.0.0.1 --rpc-bind-port 18081 --restricted-rpc \
  --p2p-bind-ip 0.0.0.0 --p2p-bind-port 18080 \
  --zmq-pub tcp://127.0.0.1:18083 \
  --out-peers 32 --in-peers 64 \
  --enforce-dns-checkpointing \
  --enable-dns-blocklist
Restart=always
RestartSec=10
LimitNOFILE=1048576

[Install]
WantedBy=multi-user.target
EOF

6.2 p2pool.service

sudo tee /etc/systemd/system/p2pool.service >/dev/null <<'EOF'
[Unit]
Description=P2Pool (Monero decentralized pool)
After=monerod.service
Wants=monerod.service

[Service]
User=cloria
Group=cloria
Type=simple
WorkingDirectory=/opt/mailcow-dockerized/monero/p2pool
Environment=WALLET_MAIN=PONE_AQUI_TU_ADDRESS_PRINCIPAL_QUE_EMPIEZA_CON_4
ExecStart=/opt/mailcow-dockerized/monero/p2pool/p2pool \
  --host 127.0.0.1 --rpc-port 18081 --zmq-port 18083 \
  --wallet ${WALLET_MAIN} --mini
Restart=always
RestartSec=10
LimitNOFILE=1048576

[Install]
WantedBy=multi-user.target
EOF

Nota: el binario real puede quedar dentro de una carpeta versionada. Ajustá WorkingDirectory y la ruta del binario si aplica.

6.3 xmrig.service

sudo tee /etc/systemd/system/xmrig.service >/dev/null <<'EOF'
[Unit]
Description=XMRig (CPU miner) to local P2Pool
After=p2pool.service
Wants=p2pool.service

[Service]
User=cloria
Group=cloria
Type=simple
WorkingDirectory=/opt/mailcow-dockerized/monero/xmrig
ExecStart=/opt/mailcow-dockerized/monero/xmrig/xmrig -o 127.0.0.1:3333
Restart=always
RestartSec=10
LimitNOFILE=1048576

[Install]
WantedBy=multi-user.target
EOF

6.4 Activar todo

sudo systemctl daemon-reload
sudo systemctl enable --now monerod
sudo systemctl enable --now p2pool
sudo systemctl enable --now xmrig

systemctl status monerod --no-pager -l
systemctl status p2pool --no-pager -l
systemctl status xmrig --no-pager -l

6.5 Logs en vivo

sudo journalctl -u monerod -f
sudo journalctl -u p2pool -f
sudo journalctl -u xmrig -f

7) ¿Full node o pruned?

Si tenés espacio, para empezar y evitar sorpresas: full. Cuando ya esté estable y quieras ahorrar disco, podés evaluar pruned. La prioridad al inicio es: que funcione y quede estable.


8) Nota de realidad (honesta)

Minar con CPU no es magia. Dependiendo del hardware, electricidad y dificultad, el rendimiento puede ser bajo. Pero este setup tiene valor:

  • Aprendés infraestructura real.
  • Usás P2Pool (descentralización).
  • Controlás tu nodo y tu entorno.

Si tu meta es “automatización y estabilidad”, systemd + verificación por partes es el camino.


Fin.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Click to listen highlighted text!