====== Monero Mining ======
P2Pool is a decentralized service to mine Monero. It works by making users attach the p2pool software to their existing Monero nodes, and mining through the port provided by the p2pool daemon.
\\
===== Configuring Monerod ======
----
For this tutorial i chose P2Pool, because it has the most benefits to it. To run P2Pool, you need to already have your own Monero node. P2Pool requires the exposure of a ZMQ interface. Add the following to /etc/monerod.conf:
# P2Pool config
zmq-pub=tcp://127.0.0.1:18083 <-- If this port is already being used, change it to a different port
disable-dns-checkpoints=1
enable-dns.blocklist=1
With ''%%/etc/monerod.conf%%'' edited correctly, simply restart the Monero daemon:
rc-service restart monerod
\\
===== Installation =====
----
Open necessary ports:
ufw allow 3333 <-- Stratum-Port für Miner
ufw allow 37889 <-- Hauptport für P2Pool
With the Monero User created in the [[start:system:monero:node|monero:node]] guide, we are going to install the latest p2pool binaries (you can copy/paste this into your terminal):
baseurl="https://github.com/SChernykh/p2pool/releases"
ver=$(basename "$(curl -w "%{url_effective}\n" -I -L -s -S $baseurl/latest -o /dev/null)")
arch=$(uname -m)
case $arch in
x86_64)
arch="x64"
;;
aarch64)
arch="aarch64"
;;
*)
exit 1
;;
esac
curl -fLO "https://github.com/SChernykh/p2pool/releases/download/$ver/p2pool-$ver-linux-$arch.tar.gz"
tar xvf p2pool*
Create a directory for p2pool in ''%%/opt/%%'' and place the binary in there:
mkdir -p /opt/p2pool
mv p2pool*/p2pool /opt/p2pool
cd /opt/p2pool
Give the Monero User the rights and begin synchronizing the p2pool side-chain (needs a little less than half an hour):
chown -R monero:monero /opt/p2pool
/opt/p2pool/p2pool --host 127.0.0.1 --wallet your_monero_wallet_address
\\
===== P2Pool als Service einrichten ======
----
Create a new Service file ''%%/etc/init.d/p2pool%%'':
sudo nano /etc/init.d/p2pool
Put this in, or structure it yourself:
#!/sbin/openrc-run
# P2POOL SERVICE
command="/opt/p2pool/p2pool"
command_args="--loglevel 0 --host 127.0.0.1 --wallet your_monero_wallet_address &"
pidfile="/run/p2pool.pid"
# XMRIG SERVICE
start_post() {
nohup xmrig \
-o 127.0.0.1:3333 \
--donate-level=0 \
--keepalive \
--tls \
--rig-id=your_xmrig_name
}
Add to runlevel:
rc-service add p2pool default