Noeud Monero privé

Ce mémo décrit mon installation d’un noeud Monero sur PC Linux. Il décrit aussi à quoi ce noeud est utilisé et comment.

Un précédent mémo de ce blog décrivait l’installation d’un noeud Monero pour un usage plus limité. Le présent mémo décrit l’installation d’un Noeud privé qui est intégré au réseau public Monero et qui permet de synchroniser ses portefeuilles.

Introduction

Monero est une crypto-monnaie dérivée de Bitcoin mais indépendante de Bitcoin et anonyme et intraçable, contrairement à Bitcoin. Le modèle de Monero est la monnaie fongible comme la monnaie physique (pièces et billets). Sa notoriété est toutefois moindre que celle de Bitcoin.

Ces deux crypto-monnaies ne relèvent d’aucune autorité centralisée, étatique ou autre, ce qui fait tout leur intérêt dans la multitude des cryptos-monnaies existantes. Un autre intérêt est leur notoriété qui va de pair avec une stabilité et une liquidité grandissantes

Un noeud Monero a deux fonctions

  • il participe au réseau mondial de la Blockchain Monero ; pour cela il échange avec ses pairs , d’autres noeuds du réseau Monero (P2P)
  • il permet la synchronisation des portefeuilles détenus en directs (wallets non custodial) , c’est à dire des portefeuilles sans intermédiaire, banque ou plateforme financière, qui résident dans la Blockchain Monero

La synchronisation consiste à mettre à jour les données de son portefeuille, historique des transactions et solde du portefeuille avec les données de la Blockchain. Sans cette synchronisation il est impossible de réaliser des transaction ou consulter ses données. Il s’agit de « parcourir » les nouveaux éléments de la Blockchain depuis la dernière synchronisation.

Les applications Monero peuvent demander un temps de synchronisation de plusieurs longues minutes ou heures selon la date de la dernière synchronisation, leur « proximité » avec un noeud, la vitesse de transfert etc . D’où l’intérêt de disposer de son propre noeud lui même synchronisé en permanence, une fois la BlockChain téléchargée.

Le téléchargement de la Blockchain Monero est 6 à 7 fois plus rapide avec un SSD qu’avec un disque classique rotatif (HDD); dans le cas SSD il faut quand même compter environ 2 jours suivant la qualité du lien Internet.

Ma Configuration

  • PC Linux Zorin avec un espace libre de 200 Goctets SSD
  • Liaison Internet haut débit (fibre)

Installation

J’ai téléchargé Monero GUI du site de référence getmonero.org. Le paquet installé est un dossier contenant l’application portefeuille et le daemon monerod : c’est ce dernier qui compte pour le noeud.

Il y a ensuite 2 fichiers à créér

1. monerod.conf

# Configuration du nœud Monero 

# Répertoire de données
data-dir=/home/marc/.bitmonero
log-file=/home/marc/.bitmonero/bitmonero.log
log-level=0

# Port P2P (18080) - Communication entre nœuds
p2p-bind-ip=0.0.0.0
p2p-bind-port=18080

# Port RPC complet (18081) - Accès avec authentification
rpc-bind-ip=0.0.0.0
rpc-bind-port=18081
rpc-login=XXXX:YYYY
confirm-external-bind=1

# Port RPC restreint (18089) - Accès public sécurisé
restricted-rpc=1
rpc-restricted-bind-ip=0.0.0.0
rpc-restricted-bind-port=18089

# Configuration du nœud
public-node=1
no-igd=1
prune-blockchain=0
sync-pruned-blocks=0

# Limites de connexion
out-peers=64
in-peers=64
limit-rate-up=2048
limit-rate-down=8192

Il faut adapter ce fichier pour les paramètres

  • XXXX:YYYY avec un nom et un mot de passe
  • /home/marc avec le chemin réel
  • data-dir si l’on veut installer la BlockChain ailleurs

Le fichier est à placer dans le dossier ~/.bitmonero (à créer préalablement)

2. monerod.service

[Unit]
Description=Monero Node Daemon
After=network.target

[Service]
Type=simple
User=marc
Group=marc

ExecStart=/home/marc/Applications/monero-x86_64-linux-gnu-v0.18.4.2/monerod --config-file=/home/marc/.bitmonero/monerod.conf --non-interactive

Restart=always
RestartSec=30

# Security settings
PrivateTmp=true
NoNewPrivileges=true

# Resource limits
LimitNOFILE=8192

[Install]
WantedBy=multi-user.target

Il faut adapter ce fichier pour les lignes User, Group, ExecStart

Mise en service

#!/bin/bash
# Script d'installation du service monerod

echo "Installation du service monerod..."

# Copier le fichier de service
sudo cp /tmp/monerod.service /etc/systemd/system/

# Recharger systemd
sudo systemctl daemon-reload

# Activer le service au démarrage
sudo systemctl enable monerod

# Démarrer le service
sudo systemctl start monerod

echo "Service installé et démarré !"
echo ""
echo "Commandes utiles :"
echo "  sudo systemctl status monerod   # Voir le statut"
echo "  sudo systemctl stop monerod     # Arrêter le service"
echo "  sudo systemctl restart monerod  # Redémarrer le service"
echo "  sudo journalctl -u monerod -f   # Voir les logs en temps réel"

Vérification

Tester les connexions (depuis le noeud):
  curl --digest -u XXXX:YYYY http://localhost:18081/get_height
  curl --digest -u XXXX:YYYY http://localhost:18089/get_height

Tester depuis l'extérieur:
  curl --digest -u XXXX:YYYY http://<adresse_IP>:18081/get_height
  curl --digest -u XXXX:YYYYC http://<adresse_IP>:18089/get_height

Retour attendu similaire à :
{
  "hash": "09e1d87ea856542df755b176f799e46cca2f79e6ad5636748dc8833af6744c17",
  "height": 3587863,
  "status": "OK",
  "untrusted": false
}

Port forwarding

Pour que le noeud soit 100% fonctionnel, j’ai dù associer l’adresse IP sur réseau local (192.168.x.x) aux ports Monero 18080, 18081 et 18089

L’association est à réaliser au niveau du routeur Internet domestique (Livebox Orange chez moi)

Synchronisation de portefeuille

Pour synchroniser un portefeuille Monero avec le Noeud j’ai le choix entre

  • l’adresse publique Internet WAN (Ex. node.mondomaine.net) fonctionne depuis n’importe quel endroit
  • l’adresse IP du réseau local LAN (192.168.x.x), ne fonctione qu’à la maison mais synchronisation plus rapide

1. Depuis le Noeud Linux

Avec l’App Monero GUI – Dans Réglage–>onglet Noeud on choisit « Noeud local »

2. Depuis un autre PC Linux

Avec l’App Monero GUI – Dans Réglage–>onglet Noeud on choisit « Noeud Distant »

puis on renseigne les paramètres

  • adresse IP WAN ou LAN
  • login (XXXX:YYYY)
  • port (18081 ou 18089),
  • Cocher App de confiance.
  • Ne pas cocher SSL

3. Depuis un smartphone

Avec l’App CakeWallet (Androïd)

Menu hamburger en haut à droite

puis « Connexion et synchronisation » –> « Gerer les noeurd » –> « Ajouter un nouveau noeud »

  • Adresse du noeud : WAN ou LAN
  • Port du noeud : 18089
  • Utiliser SSL : NON
  • Activer pour la commutation automatique : OUI
  • Connexion : XXXX
  • Mot de passe : YYYY
  • de confiance : OUI

Sauvegarder

Dans la liste des noeuds, le nouveau noeud doit passer en vert au bout d’un moment selon l’algorithme de sélection de l’App grace à l’activation de connexion automatique.

Publié dans Non classé | Commentaires fermés sur Noeud Monero privé