Faire Tourner Votre Propre Nœud Mostro
Mostro v0.16.3 — Guide de la Communauté · Février 2026
1. Qu'est-ce que Mostro et pourquoi votre communauté devrait en faire tourner un ?
Mostro est un exchange peer-to-peer de Bitcoin qui permet aux gens d'acheter et de vendre du Bitcoin en utilisant des monnaies locales (dollars, euros, francs — n'importe quelle devise) sans avoir à fournir de pièce d'identité (KYC). Pensez-y comme un marché décentralisé où acheteurs et vendeurs peuvent échanger directement.
Il fonctionne grâce à deux technologies :
- Lightning Network — une couche de paiements rapides et peu coûteux pour Bitcoin (pensez-y comme la voie express de Bitcoin pour les petits paiements agiles)
- Nostr — un protocole de communication résistant à la censure (pensez-y comme un système de messagerie que personne ne peut éteindre)
Mostro agit comme un coordinateur de séquestre — il retient le Bitcoin du vendeur dans un « coffre-fort » temporaire (appelé hold invoice) jusqu'à ce que l'acheteur confirme avoir envoyé le paiement en monnaie locale. Mostro ne contrôle jamais réellement les fonds de quiconque ; il les retient brièvement pendant la transaction.
Pourquoi votre communauté voudrait-elle faire tourner un nœud Mostro ?
- Revenus de frais — Chaque transaction vous rapporte des frais (0.6% par défaut). Si votre communauté réalise 10 000 $ de transactions mensuelles, cela représente environ 60 $/mois en frais.
- Trading P2P sans KYC — Les membres de votre communauté peuvent acheter et vendre du Bitcoin sans fournir de pièce d'identité. Particulièrement important dans les régions aux monnaies instables ou aux réglementations restrictives.
- Litiges dans votre langue — Quand une transaction tourne mal, votre communauté la résout, dans votre langue, en comprenant vos méthodes de paiement locales.
- Indépendance — Aucune entreprise ne peut fermer votre exchange. Aucun gouvernement ne peut faire pression sur un opérateur unique pour le faire fermer.
- Personnalisation — Vous choisissez quelles devises supporter, quelles méthodes de paiement autoriser et quels frais facturer.
Comment fonctionne Mostro (Simplifié)
Si quelque chose tourne mal (ex : Bob dit qu'il a payé mais Alice n'a pas reçu), l'une ou l'autre partie peut ouvrir un litige, et les arbitres désignés de votre communauté enquêtent et résolvent le problème.
2. Prérequis — Ce dont vous avez besoin avant de commencer
2.1 Un Serveur (VPS)
Un VPS (Serveur Privé Virtuel) est un ordinateur dans un centre de données qui fonctionne 24h/24 et 7j/7. Vous en louerez un pour héberger votre nœud Mostro.
Spécifications minimales :
| Ressource | Minimum | Recommandé |
|---|---|---|
| CPU | 2 vCPUs (partagés) | 2+ vCPUs |
| RAM | 2 Go | 4 Go |
| Stockage | 60 Go SSD | 100 Go SSD |
| Bande passante | 3 To/mois | 3+ To/mois |
| OS | Ubuntu 22.04+ LTS | Ubuntu 24.04 LTS |
Coût mensuel estimé : 10–24 $/mois.
Fournisseurs VPS populaires :
- Hostinger — à partir d'environ 7 $/mois (prix promotionnel ; le renouvellement peut être plus élevé) (KVM 2 : 2 vCPU, 8 Go RAM, 100 Go NVMe, 8 To de bande passante) · Accepte le Bitcoin
- Hetzner — 3,49–8 €/mois (CX23 à partir de 3,49 €, bon rapport qualité-prix, basé dans l'UE)
- Digital Ocean — 24 $/mois (4 Go RAM, 2 CPUs, 80 Go SSD) ou 32 $/mois (4 Go RAM, 2 Intel CPUs, 120 Go NVMe)
- OVH — environ 6–12 $/mois
- Linode/Akamai — 12 $/mois
- Lunanode — Accepte les paiements en Bitcoin
De nombreux fournisseurs de VPS acceptent les paiements en Bitcoin. Recherchez cette option si vous souhaitez rester cohérent avec la philosophie Bitcoin.
Vous devez être à l'aise pour vous connecter à un serveur par SSH. Si vous ne l'avez jamais fait, cherchez un tutoriel « Se connecter en SSH à un VPS » — c'est plus simple qu'il n'y paraît.
2.2 Un Nœud Lightning Network (LND)
Lightning Network est un système « couche 2 » construit sur Bitcoin qui permet des paiements rapides et peu coûteux. Pour faire tourner Mostro, vous avez besoin d'un nœud LND (Lightning Network Daemon) — le logiciel Lightning spécifique avec lequel Mostro fonctionne.
Vos options :
| Option | Difficulté | Coût | Notes |
|---|---|---|---|
| Utiliser un nœud LND existant | Facile | Gratuit (si vous en avez un) | Idéal si quelqu'un en a déjà un |
| Faire tourner LND sur le même VPS | Difficile | Même VPS + liquidité | Nécessite un VPS avec 4 Go+ de RAM |
| Solution nœud-en-boîte | Moyen | 200–600 $ + liquidité | Start9, Umbrel, RaspiBlitz |
| StartOS avec le paquet Mostro | Plus facile | 300–600 $ + liquidité | Start9 dispose d'un paquet Mostro en un clic |
| Utiliser Voltage.cloud | Facile | À partir d'environ 20 $/mois + liquidité | Voltage — LND hébergé avec infrastructure gérée |
Mostro requiert spécifiquement LND (pas CLN/Core Lightning, pas Eclair, pas LDK). Assurez-vous que votre nœud Lightning fait tourner LND.
Ce dont vous avez besoin de votre nœud LND :
- Le fichier
tls.cert(un certificat de sécurité) - Le fichier
admin.macaroon(un jeton d'authentification) - L'adresse gRPC (typiquement
https://127.0.0.1:10009si sur la même machine)
2.3 Liquidité Lightning
Pour faciliter les transactions, votre nœud Lightning a besoin de canaux avec du Bitcoin dedans. Pensez aux canaux Lightning comme des tunnels de paiement pré-financés. Le Bitcoin dans ces canaux est votre « liquidité ».
Combien en faut-il ?
| Volume de trading visé | Liquidité suggérée | BTC approximatif |
|---|---|---|
| Petite communauté (quelques transactions/jour) | 1–5 millions de sats | 0.01–0.05 BTC |
| Communauté moyenne | 5–20 millions de sats | 0.05–0.20 BTC |
| Communauté active | 20–100 millions de sats | 0.20–1.0 BTC |
Le Bitcoin dans vos canaux Lightning est bloqué onchain mais reste hautement dépensable via le Lightning Network. De nombreux services acceptent les paiements Lightning — des cafés aux fournisseurs VPS — rendant votre liquidité assez flexible pour un usage quotidien.
Commencez petit, grandissez progressivement. Commencez avec suffisamment pour les besoins initiaux de votre communauté et surveillez les retours. Quand les traders signalent que les ordres échouent par manque de capacité, c'est votre signal pour en ajouter. Écoutez votre communauté.
Obtenir de la liquidité :
- Ouvrez des canaux vers des nœuds bien connectés (utilisez Lightning Network+ ou Amboss pour trouver de bons pairs)
- Vous avez besoin de capacité sortante (pour payer les acheteurs) et de capacité entrante (pour recevoir des vendeurs)
- Obtenir de la liquidité entrante est généralement plus difficile — envisagez Lightning Loop, Magma, ou des services d'échange de canaux
2.4 Clés Nostr
Votre nœud Mostro a besoin de sa propre identité sur le réseau Nostr — une paire de clés cryptographiques avec une clé publique (l'adresse de votre nœud) et une clé privée (votre secret).
Ne réutilisez jamais des clés Nostr entre instances de Mostro. Chaque nœud a besoin de sa propre identité unique.
Générer des clés Nostr sécurisées localement avec rana :
# Installer Rust (si pas déjà installé)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env
# Installer rana - générateur local de clés Nostr
cargo install rana
# Générer une nouvelle paire de clés (avec phrase mnémonique de 12 mots)
rana --generate 12 Rana générera votre clé privée (nsec), votre clé publique (npub) et une phrase mnémonique de sauvegarde. Conservez le tout en lieu sûr ! Note : lancer rana sans arguments démarre le minage PoW (difficulté 10) qui peut prendre plusieurs minutes — utilisez --generate pour une génération instantanée. Ne générez jamais de clés importantes via des services en ligne.
2.5 Niveau de connaissances techniques
| Tâche | Difficulté | Connaissances requises |
|---|---|---|
| Louer un VPS | Facile | Carte bancaire, navigation web basique |
| Se connecter en SSH | Facile | Suivre des instructions, taper des commandes |
| Installer Docker | Moyen | Copier-coller des commandes, dépannage basique |
| Faire tourner Mostro (Docker) | Moyen | Éditer des fichiers de configuration, comprendre les chemins |
| Faire tourner Mostro (natif) | Difficile | Administration Linux, compilation de logiciels, systemd |
| Configurer LND depuis zéro | Difficile | Connaissances significatives en Linux et réseaux |
| Gérer la liquidité Lightning | Difficile | Comprendre l'économie des canaux Lightning |
💡 Notre recommandation : Si votre communauté compte quelqu'un à l'aise avec la ligne de commande Linux, il peut gérer l'installation avec Docker. La compilation native nécessite de l'expérience en administration système. La configuration du nœud Lightning est la partie la plus complexe — envisagez de demander l'aide de quelqu'un d'expérimenté, ou d'utiliser une solution nœud-en-boîte.
3. Installation Pas à Pas
Toutes les options d'installation partagent les mêmes premières étapes. Choisissez ensuite l'option qui vous convient :
- Option A (Docker Hub) : La plus rapide. Pas de compilation, pas de clonage. Recommandée pour la plupart.
- Option B (Docker Build) : Vous construisez l'image localement depuis le dépôt.
- Option C (Compilation native) : Plus de contrôle, mieux pour les administrateurs expérimentés.
Toutes supposent que vous avez déjà : ✅ Un VPS avec Ubuntu · ✅ Un accès SSH · ✅ Un nœud LND fonctionnel.
Étapes Communes (pour les 3 options)
Étape 1 : Connectez-vous à votre VPS
ssh root@VOTRE_ADRESSE_IP_VPS Étape 2 : Mettez à jour le système
# Télécharger les dernières informations de paquets
apt update
# Installer toutes les mises à jour disponibles
apt upgrade -y Étape 3 : Installer Docker et Docker Compose
Docker est nécessaire pour les options A et B. Si vous compilez manuellement (Option C), vous pouvez sauter cette étape.
# Installer Docker avec le script officiel
curl -fsSL https://get.docker.com | sh
# Vérifier que Docker est installé
docker --version
# Vérifier Docker Compose
docker compose version Étape 4 : Installer les outils supplémentaires
apt install -y git make ✅ Étapes communes terminées. Choisissez maintenant votre option d'installation :
Option A : Docker Hub (La plus rapide — Recommandée)
Lancez Mostro directement depuis Docker Hub sans cloner le dépôt ni compiler. Parfait pour les déploiements sur VPS.
Étape 5 : Créer le répertoire de configuration
mkdir -p ~/mostro-config/lnd Étape 6 : Obtenir le modèle de configuration
curl -sL https://raw.githubusercontent.com/MostroP2P/mostro/v0.16.3/settings.tpl.toml \
-o ~/mostro-config/settings.toml Étape 7 : Copier les identifiants LND
cp /chemin/vers/votre/tls.cert ~/mostro-config/lnd/tls.cert
cp /chemin/vers/votre/admin.macaroon ~/mostro-config/lnd/admin.macaroon Si LND est sur la même machine, les chemins typiques sont :
/root/.lnd/tls.cert/root/.lnd/data/chain/bitcoin/mainnet/admin.macaroon
Étape 8 : Modifier la configuration
nano ~/mostro-config/settings.toml Modifications requises :
[lightning]
lnd_cert_file = '/config/lnd/tls.cert'
lnd_macaroon_file = '/config/lnd/admin.macaroon'
lnd_grpc_host = 'https://host.docker.internal:10009' # Si LND sur le même VPS
# Ou utiliser 'https://VOTRE_IP_LND:10009' si LND sur un serveur différent
[database]
url = "sqlite:///config/mostro.db"
[nostr]
nsec_privkey = 'VOTRE_CLE_NSEC_ICI'
relays = ['wss://relay.mostro.network', 'wss://nos.lol']
[mostro]
fee = 0.006 # 0.6% de frais par transaction
max_order_amount = 1000000 # Ordre maximum en sats
min_payment_amount = 100 # Ordre minimum en sats
fiat_currencies_accepted = ['USD', 'EUR'] # Vos devises Enregistrer : Ctrl+X, puis Y, puis Entrée.
Étape 9 : Ajuster les permissions
Évitez chmod 777. Utilisez des permissions minimales.
sudo chown -R 1000:1000 ~/mostro-config
chmod 700 ~/mostro-config
chmod 600 ~/mostro-config/settings.toml
chmod 600 ~/mostro-config/lnd/admin.macaroon Étape 10 : Lancer le conteneur
Si LND est sur le même VPS :
docker run -d --name mostro \
--restart unless-stopped \
--add-host=host.docker.internal:host-gateway \
-v ~/mostro-config:/config \
mostrop2p/mostro:v0.16.3 Si LND est sur un serveur différent :
docker run -d --name mostro \
--restart unless-stopped \
-v ~/mostro-config:/config \
mostrop2p/mostro:v0.16.3 Étape 11 : Vérifier les logs
docker logs -f mostro Cherchez ces messages :
Settings correctly loaded— La configuration est valideConnected to LND— Connexion Lightning réussieConnected to relay— Relay Nostr établi
Si vous voyez Permission denied (os error 13), réajustez les permissions : chown -R 1000:1000 ~/mostro-config et redémarrez : docker restart mostro.
🎉 Félicitations ! Si vous voyez des connexions réussies dans les logs, votre nœud Mostro fonctionne !
Mise à jour (Docker Hub)
export MOSTRO_TAG=v0.16.3
docker pull mostrop2p/mostro:$MOSTRO_TAG
docker stop mostro
docker rm mostro
docker run -d --name mostro \
--restart unless-stopped \
--add-host=host.docker.internal:host-gateway \
-v ~/mostro-config:/config \
mostrop2p/mostro:$MOSTRO_TAG Utilisez toujours un tag de version spécifique (ex. mostrop2p/mostro:v0.16.3) au lieu de :latest pour contrôler les déploiements.
Option B : Docker Build (Construire l'image localement)
Étape 5 : Télécharger Mostro
cd /opt
git clone https://github.com/MostroP2P/mostro.git
cd mostro Étape 6 : Configurer les fichiers
cd docker
mkdir -p config
cp ../settings.tpl.toml config/settings.toml Étape 7 : Modifier le fichier de configuration
nano config/settings.toml Modifiez les mêmes paramètres que dans l'Option A, Étape 8.
Étape 8 : Construire l'image Docker
cd ..
LND_CERT_FILE=/root/.lnd/tls.cert \
LND_MACAROON_FILE=/root/.lnd/data/chain/bitcoin/mainnet/admin.macaroon \
make docker-build Étape 9 : Démarrer Mostro
make docker-up
# Vérifier
docker compose -f docker/compose.yml ps
# Voir les logs
docker compose -f docker/compose.yml logs -f mostro 🎉 Félicitations ! Si vous voyez des connexions réussies, votre nœud Mostro fonctionne !
Option C : Compilation Native (Pour opérateurs techniques)
Étape 5 : Installer Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source /root/.cargo/env
rustc --version
cargo --version N'installez PAS Rust via apt install rustc. Utilisez toujours rustup. Le paquet système est souvent obsolète.
Étape 6 : Installer les dépendances de compilation
apt install -y cmake build-essential libsqlite3-dev libssl-dev \
pkg-config git sqlite3 protobuf-compiler Étape 7 : Télécharger et compiler Mostro
cd /opt
git clone https://github.com/MostroP2P/mostro.git
cd mostro
cargo build --release Si la compilation échoue par manque de RAM, ajoutez de l'espace swap :
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile Étapes 8–10 : Installer, initialiser et nettoyer
install target/release/mostrod /usr/local/bin
cargo install sqlx-cli --version 0.6.3
./init_db.sh
cargo clean # Économise 2+ Go d'espace Étapes 11–12 : Créer un utilisateur et configurer
adduser --disabled-login mostro
mkdir -p /opt/mostro
cp settings.tpl.toml /opt/mostro/settings.toml
nano /opt/mostro/settings.toml Modifiez les mêmes paramètres que dans l'Option A, Étape 8.
Étapes 13–15 : Test, permissions et service systemd
# Test d'exécution
/usr/local/bin/mostrod -d /opt/mostro
# Définir les permissions
chown -R mostro:mostro /opt/mostro Créer le service systemd :
# /etc/systemd/system/mostro.service
[Unit]
Description=Mostro daemon
After=network.target
[Service]
Type=simple
User=mostro
WorkingDirectory=/home/mostro
Environment=RUST_LOG=info
ExecStart=/usr/local/bin/mostrod -d /opt/mostro
Restart=on-failure
[Install]
WantedBy=multi-user.target systemctl daemon-reload
systemctl enable mostro.service
systemctl start mostro.service
systemctl status mostro.service 🎉 Félicitations ! Votre nœud Mostro tourne en tant que service système.
4. Configuration en Détail
Le fichier settings.toml contrôle tout sur votre nœud Mostro.
4.1 Clés Nostr — L'identité de votre nœud
[nostr]
nsec_privkey = 'VOTRE_CLE_NSEC'
relays = [
'wss://relay.mostro.network',
'wss://nos.lol',
'wss://relay.nostr.band'
] Quels relays utiliser ?
wss://relay.mostro.network— Relay propre à Mostro, recommandéwss://nos.lol— Relay fiable et bien connecté- Ajoutez 3–5 relays pour la fiabilité. Plus de relays = meilleure disponibilité mais plus de bande passante.
Vous pouvez aussi faire tourner votre propre relay Nostr à côté de Mostro (l'installation Docker en inclut un par défaut).
4.2 Frais — Comment vous générez des revenus
[mostro]
fee = 0.006
dev_fee_percentage = 0.30 Frais de transaction (fee) : Pourcentage prélevé par transaction, réparti entre acheteur et vendeur.
0.006= 0.6% (chaque partie paie 0.3%)0.01= 1.0% (chaque partie paie 0.5%)0= gratuit (bon pour développer votre base d'utilisateurs)
Exemple : Sur une transaction de 100 000 sats avec fee = 0.006 : L'acheteur paie 300 sats, le vendeur paie 300 sats, votre nœud gagne 600 sats au total.
Frais de développement (dev_fee_percentage) : Un pourcentage de vos revenus de frais qui va au développement de Mostro.
0.30= 30% (par défaut) — sur 600 sats, 180 vont au fonds de développement- Minimum : 10% (
0.10), Maximum : 100% (1.0) - Payé par votre nœud sur ses revenus, non facturé aux utilisateurs
- Tous les paiements sont vérifiables publiquement via des événements Nostr (kind 8383)
Définir dev_fee_percentage en dessous de 0.10 empêchera Mostro de démarrer. Ce minimum assure un financement durable du développement.
4.3 Limites d'ordres et devises
[mostro]
max_order_amount = 1000000
min_payment_amount = 100
fiat_currencies_accepted = ['USD', 'EUR', 'ARS', 'CUP'] max_order_amount: Transaction maximale en satoshis. Configurez-la en fonction de la capacité de vos canaux Lightning.min_payment_amount: Transaction minimale en satoshis. 1 000 ou 10 000 est plus pratique que 100.fiat_currencies_accepted: Utilisez les codes ISO 4217. Un tableau vide[]accepte toutes les devises.
4.4 Profil du nœud (Optionnel mais recommandé)
[mostro]
name = "LatAm Mostro"
about = "Exchange P2P de Bitcoin pour l'Amérique latine. Support en espagnol."
picture = "https://exemple.com/votre-logo.png"
website = "https://site-de-votre-communaute.com" Ceux-ci configurent le profil de votre Mostro sur Nostr (NIP-01 kind 0 metadata). Les clients affichent ces informations pour que les utilisateurs sachent sur quel Mostro ils échangent.
4.5 Délais et expiration
[mostro]
expiration_hours = 24 # Durée pendant laquelle un ordre reste ouvert
expiration_seconds = 900 # Temps pour compléter (15 min)
hold_invoice_expiration_window = 300 # Validité de la hold invoice (5 min) 4.6 Anti-Spam
[mostro]
pow = 0 # 0 = désactivé ; 10-20 = modéré. Commencez avec 0. 4.7 Interface RPC Admin (Optionnel)
[rpc]
enabled = false
listen_address = "127.0.0.1"
port = 50051 Activez-la pour les outils d'administration comme MostriX (interface de terminal) pour la résolution des litiges.
Si vous activez RPC, gardez listen_address à "127.0.0.1" (localhost uniquement). N'exposez jamais ceci à internet.
5. Exploitation de Votre Nœud Mostro
5.1 Comment fonctionnent les litiges
Les litiges sont votre responsabilité opérationnelle la plus importante.
Quand les litiges surviennent-ils ?
- L'acheteur dit qu'il a payé, le vendeur dit qu'il n'a pas reçu
- Le vendeur refuse de libérer les Bitcoin après avoir reçu le paiement
- L'une des parties cesse de répondre
Le processus de litige :
- L'utilisateur ouvre un litige — L'une des parties clique sur « Litige » dans le client
- Mostro marque l'ordre — Le statut passe à « Litige », les fonds restent bloqués
- L'arbitre prend le cas — Un admin assigné à votre nœud enquête
- Investigation — Communication avec les deux parties, demande de preuves
- Résolution — L'arbitre décide : libérer vers l'acheteur, ou rembourser le vendeur
Choisissez vos arbitres avec soin. Ils ont le pouvoir de décider où vont les fonds bloqués. Choisissez des membres de confiance et impartiaux de la communauté. 2-3 arbitres sont recommandés.
5.2 Mostrix — Votre outil d'administration
Mostrix est un client basé sur le terminal (TUI) pour la résolution des litiges. Si vous faites tourner un nœud Mostro, vous avez besoin de Mostrix.
Option A : Télécharger le binaire pré-compilé (Recommandé)
Téléchargez la dernière version pour votre plateforme depuis GitHub Releases :
# Linux (x86_64)
wget https://github.com/MostroP2P/mostrix/releases/latest/download/mostrix-x86_64-unknown-linux-musl
chmod +x mostrix-x86_64-unknown-linux-musl
./mostrix-x86_64-unknown-linux-musl
# Linux (ARM64 / Raspberry Pi 4)
wget https://github.com/MostroP2P/mostrix/releases/latest/download/mostrix-aarch64-unknown-linux-musl
chmod +x mostrix-aarch64-unknown-linux-musl
./mostrix-aarch64-unknown-linux-musl
# Windows
# Téléchargez mostrix-x86_64-pc-windows-gnu.exe depuis la page des releases Vérifiez toujours la signature du binaire avant de l'exécuter. Téléchargez manifest.txt et les fichiers de signature depuis la release :
# Importer les clés des développeurs (une seule fois)
curl https://raw.githubusercontent.com/MostroP2P/mostrix/main/keys/negrunch.asc | gpg --import
curl https://raw.githubusercontent.com/MostroP2P/mostrix/main/keys/arkanoider.asc | gpg --import
# Télécharger le manifest et les signatures
wget https://github.com/MostroP2P/mostrix/releases/latest/download/manifest.txt
wget https://github.com/MostroP2P/mostrix/releases/latest/download/manifest.txt.sig.negrunch
wget https://github.com/MostroP2P/mostrix/releases/latest/download/manifest.txt.sig.arkanoider
# Vérifier les signatures
gpg --verify manifest.txt.sig.negrunch manifest.txt
gpg --verify manifest.txt.sig.arkanoider manifest.txt
# Vérifier que le checksum correspond
shasum -a 256 mostrix-x86_64-unknown-linux-musl
# Comparez la sortie avec le hash dans manifest.txt Option B : Compiler depuis le code source
Si vous préférez compiler depuis le code source ou avez besoin d'une plateforme non disponible dans les releases :
# Installer les dépendances (Ubuntu/Debian)
sudo apt install -y cmake build-essential pkg-config
# Installer Rust (si pas déjà installé)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Cloner et compiler
git clone https://github.com/MostroP2P/mostrix.git
cd mostrix
cargo build --release
# Exécuter
./target/release/mostrix Premier lancement et configuration
Au premier lancement, Mostrix génère automatiquement un fichier ~/.mostrix/settings.toml avec des valeurs par défaut raisonnables, incluant une nouvelle paire de clés Nostr. Votre npub généré sera affiché dans le terminal.
La configuration auto-générée utilise la pubkey officielle de Mostro par défaut. Vous devez la changer pour la pubkey de votre propre nœud Mostro :
# Éditer la configuration
nano ~/.mostrix/settings.toml
# Changez cette ligne pour la pubkey de VOTRE nœud Mostro :
mostro_pubkey = "VOTRE_PUBKEY_MOSTRO_HEX" Pour le mode admin (résolution des litiges), configurez également :
# ~/.mostrix/settings.toml
mostro_pubkey = "VOTRE_PUBKEY_MOSTRO_HEX"
nsec_privkey = "nsec1votre_cle_personnelle" # Auto-générée au premier lancement
admin_privkey = "nsec1votre_cle_admin" # Votre clé admin du config Mostro
relays = ["wss://relay.mostro.network"]
currencies_filter = [] # Vide = afficher toutes les devises
user_mode = "admin" # Activer le mode admin 5.3 mostro-watchdog — Notifications de litiges sur Telegram
mostro-watchdog surveille votre nœud Mostro pour les litiges et envoie des alertes instantanées par Telegram. Essentiel pour des temps de réponse rapides.
Option A : Installation automatique (Recommandée)
# Téléchargez et exécutez le script d'installation
curl -fsSL https://raw.githubusercontent.com/MostroP2P/mostro-watchdog/main/install.sh | bash Option B : Téléchargement manuel du binaire
# Linux x86_64 (Intel/AMD)
curl -LO https://github.com/MostroP2P/mostro-watchdog/releases/latest/download/mostro-watchdog-linux-x86_64
chmod +x mostro-watchdog-linux-x86_64
sudo mv mostro-watchdog-linux-x86_64 /usr/local/bin/mostro-watchdog
# Linux ARM64 (Raspberry Pi, serveurs ARM)
curl -LO https://github.com/MostroP2P/mostro-watchdog/releases/latest/download/mostro-watchdog-linux-aarch64
chmod +x mostro-watchdog-linux-aarch64
sudo mv mostro-watchdog-linux-aarch64 /usr/local/bin/mostro-watchdog Option C : Compiler depuis les sources
git clone https://github.com/MostroP2P/mostro-watchdog.git
cd mostro-watchdog
cargo build --release
sudo cp target/release/mostro-watchdog /usr/local/bin/ Configuration :
cp config.example.toml config.toml
nano config.toml [mostro]
pubkey = "VOTRE_PUBKEY_MOSTRO"
[nostr]
relays = ["wss://relay.mostro.network", "wss://nos.lol"]
[telegram]
bot_token = "VOTRE_TOKEN_BOT"
chat_id = "VOTRE_CHAT_ID" Faites tourner mostro-watchdog comme service systemd à côté de votre nœud Mostro pour une surveillance 24h/24 et 7j/7.
5.4 Surveillance de la disponibilité
Votre nœud doit fonctionner 24h/24 et 7j/7.
# Natif
systemctl status mostro.service
journalctl -u mostro -f
journalctl -u mostro | grep -E "(error|warn|connected)" --ignore-case
# Docker Hub (Option A)
docker ps --filter name=mostro
docker logs -f mostro
# Docker Build (Option B)
docker compose -f /opt/mostro/docker/compose.yml ps
docker compose -f /opt/mostro/docker/compose.yml logs -f mostro Configurez une surveillance simple avec UptimeRobot (gratuit) ou une tâche cron qui vous alerte si Mostro tombe en panne.
5.5 Mettre à jour Mostro
Docker Hub :
export MOSTRO_TAG=v0.16.3
docker stop mostro
docker rm mostro
docker pull mostrop2p/mostro:$MOSTRO_TAG
docker run -d --name mostro \
--restart unless-stopped \
--add-host=host.docker.internal:host-gateway \
-v ~/mostro-config:/config \
mostrop2p/mostro:$MOSTRO_TAG Docker Build :
cd /opt/mostro
git pull origin main
make docker-build
make docker-down
make docker-up Natif :
cd /opt/mostro
git pull origin main
cargo build --release
install target/release/mostrod /usr/local/bin
cargo clean
cargo install sqlx-cli --version 0.6.3
sqlx migrate run
systemctl restart mostro.service Sauvegardez toujours votre base de données avant de mettre à jour.
5.6 Sauvegardes
Fichiers critiques à sauvegarder : settings.toml (contient votre clé privée Nostr !) et mostro.db (historique des ordres, réputations).
# Sauvegarde manuelle — Docker Hub :
mkdir -p /root/mostro-backups
cp ~/mostro-config/settings.toml /root/mostro-backups/settings.toml.$(date +%Y%m%d)
cp ~/mostro-config/mostro.db /root/mostro-backups/mostro.db.$(date +%Y%m%d)
# Sauvegarde manuelle — Natif :
cp /opt/mostro/settings.toml /root/mostro-backups/settings.toml.$(date +%Y%m%d)
cp /opt/mostro/mostro.db /root/mostro-backups/mostro.db.$(date +%Y%m%d) Sauvegarde quotidienne automatisée (ajouter au crontab avec crontab -e) :
# Docker Hub (Option A) :
0 3 * * * mkdir -p /root/mostro-backups && cp ~/mostro-config/mostro.db /root/mostro-backups/mostro.db.$(date +\%Y\%m\%d) && cp ~/mostro-config/settings.toml /root/mostro-backups/settings.toml.$(date +\%Y\%m\%d)
# Natif (Option C) / Docker Build (Option B) :
0 3 * * * mkdir -p /root/mostro-backups && cp /opt/mostro/mostro.db /root/mostro-backups/mostro.db.$(date +\%Y\%m\%d) && cp /opt/mostro/settings.toml /root/mostro-backups/settings.toml.$(date +\%Y\%m\%d) Votre nsec_privkey dans settings.toml EST l'identité de votre nœud. Si vous la perdez, vous perdez votre réputation et tous les utilisateurs doivent se reconnecter à une nouvelle identité. Conservez une copie hors ligne.
5.7 Vérifier l'activité des transactions
# Compter tous les ordres
sqlite3 /chemin/vers/mostro.db "SELECT COUNT(*) FROM orders;"
# Transactions réussies récentes
sqlite3 /chemin/vers/mostro.db "SELECT id, fiat_code, fiat_amount, amount, fee, status, created_at FROM orders WHERE status = 'success' ORDER BY created_at DESC LIMIT 10;"
# Ordres en attente
sqlite3 /chemin/vers/mostro.db "SELECT id, fiat_code, fiat_amount, status, created_at FROM orders WHERE status = 'pending';"
# Revenus totaux en frais (frais du nœud + dev_fee)
sqlite3 /chemin/vers/mostro.db "SELECT SUM(fee) as node_fees, SUM(dev_fee) as dev_fees, SUM(fee + dev_fee) as total_fees_sats FROM orders WHERE status = 'success';" 6. Détail des Coûts
Coûts opérationnels mensuels
| Poste | Coût mensuel | Notes |
|---|---|---|
| VPS (serveur) | 10–24 $ | Dépend du fournisseur et des spécifications |
| Nom de domaine (optionnel) | 1–2 $ | Pour un site web/identité |
| Frais onchain des canaux Lightning | Variable | Ouverture/fermeture de canaux |
| Total mensuel | 11–26 $ | Hors liquidité Lightning |
Coûts uniques / de capital
| Poste | Coût | Notes |
|---|---|---|
| Liquidité Lightning | 0.01–1.0+ BTC | Bloqué dans les canaux ; récupéré à la fermeture |
| Matériel du nœud (si auto-hébergé) | 0–600 $ | Gratuit si VPS ; 300-600 $ pour Start9/Umbrel |
| Temps de configuration | 4–16 heures | Selon le niveau d'expérience |
Potentiel de revenus
| Volume mensuel | Frais (0.6%) | Contribution dev (30%) | Revenu net |
|---|---|---|---|
| 1 000 $ | ~6 $ | ~1,80 $ | ~4,20 $ |
| 10 000 $ | ~60 $ | ~18 $ | ~42 $ |
| 50 000 $ | ~300 $ | ~90 $ | ~210 $ |
| 100 000 $ | ~600 $ | ~180 $ | ~420 $ |
La plupart des nœuds nouveaux mettent des mois à construire du volume. N'attendez pas de rentabilité immédiate. La vraie valeur vient souvent du service rendu à votre communauté, les frais étant un bonus.
Engagement en temps
| Tâche | Fréquence | Temps |
|---|---|---|
| Surveillance (vérifier les logs, le statut) | Quotidien | 5–10 min |
| Résolution de litiges | Selon les besoins | 15–60 min par litige |
| Mises à jour | Mensuel | 15–30 min |
| Gestion de la liquidité | Hebdomadaire | 15–30 min |
| Estimation hebdomadaire totale | 1–3 heures |
7. Questions Fréquentes
Faut-il être développeur pour faire tourner un nœud Mostro ?
Non, mais vous devez être à l'aise avec les opérations basiques en ligne de commande (taper des commandes, éditer des fichiers texte). La voie Docker (Option A) est conçue pour être accessible.
Puis-je faire tourner Mostro sur un Raspberry Pi ?
Techniquement oui (via Start9 ou similaire), mais ce n'est pas recommandé pour la production en raison des limitations de CPU et de RAM. Un VPS est plus fiable.
Puis-je utiliser Core Lightning (CLN) au lieu de LND ?
Non. Mostro ne supporte actuellement que LND, car il dépend de l'implémentation spécifique des hold invoices de LND. Le support d'autres implémentations pourrait arriver à l'avenir.
Comment les utilisateurs se connectent-ils à mon Mostro ?
Les utilisateurs ont besoin d'une application cliente Mostro (comme Mostro Mobile ou mostro-cli) et de la clé publique de votre Mostro (npub). Ils ajoutent votre npub dans leur client, et le client communique via les relays Nostr. Aucune connexion directe n'est nécessaire.
Puis-je faire tourner plusieurs instances de Mostro ?
Oui, mais chacune nécessite sa propre paire de clés Nostr, son nœud LND (ou au moins des canaux/liquidité séparés) et sa configuration.
Est-ce légal ?
Cela dépend beaucoup de votre juridiction. Mostro est un logiciel d'échange peer-to-peer. Dans certaines juridictions, opérer un exchange P2P peut nécessiter des licences. Consultez les réglementations locales et un conseiller juridique.
Quelle bande passante utilise Mostro ?
Très peu — principalement de petits événements Nostr. Quelques Go par mois est typique même avec un volume modéré.
Que se passe-t-il si mon nœud se déconnecte ?
Les ordres en attente finissent par expirer. Les transactions actives avec des fonds bloqués continuent quand vous revenez en ligne. Si vous êtes hors ligne trop longtemps, les utilisateurs peuvent perdre confiance.
Puis-je changer ma clé Nostr après ?
Vous pouvez, mais vous perdrez l'identité et la réputation de votre nœud. Les utilisateurs le verront comme un nouveau Mostro. Traitez votre clé comme votre identité de marque.
Puis-je perdre de l'argent en faisant tourner un nœud Mostro ?
Oui, c'est possible : les fonds dans les canaux Lightning pourraient être à risque à cause de bugs (rare) ; la fermeture forcée de canaux pendant des périodes de frais élevés peut être coûteuse ; les coûts VPS sont continus.
La liquidité Lightning est-elle « à risque » ?
Votre liquidité Lightning est la vôtre. Elle n'est pas en danger à cause de Mostro en soi — les hold invoices sont des blocages temporaires. Cependant, les risques standard du Lightning Network s'appliquent (fermetures forcées, canaux bloqués, bugs).
Quand atteindrai-je le seuil de rentabilité ?
Cela dépend de vos coûts et du volume de transactions. Avec 20 $/mois de coûts et 0.6% de frais, vous avez besoin d'environ 5 000 $/mois en transactions pour couvrir les coûts (avant la contribution au développement). La plupart des communautés mettent 3–6 mois à atteindre un volume significatif.
8. Considérations de Sécurité
Mostro est en phase précoce de développement. Bien que l'équipe travaille dur pour assurer la fiabilité, des bugs non découverts peuvent exister — y compris des bugs de sécurité pouvant entraîner une perte de fonds. Les développeurs ne sont pas responsables de toute perte d'argent due à des bugs logiciels.
Mostro est open source et son code est ouvert aux audits. Nous encourageons les communautés à promouvoir et financer des audits de sécurité indépendants.
Cela dit, le mécanisme central de séquestre utilisant les hold invoices Lightning a été éprouvé depuis 2021, quand @lnp2pBot a implémenté pour la première fois ce type de séquestre. Des milliers de transactions ont été réalisées avec succès.
Opérer sous des régimes autoritaires
Si vous opérez dans un pays avec un gouvernement autoritaire, la confidentialité n'est pas optionnelle — c'est une exigence de sécurité.
- Faites tourner votre nœud Mostro derrière Tor et/ou un VPN. Cela masque l'IP de votre serveur vis-à-vis des relays Nostr.
- Si Tor/VPN n'est pas possible (courant dans les pays en développement avec un internet lent), publiez uniquement des événements sur des relays que vous possédez ou en lesquels vous avez confiance.
- Soyez très prudent avec les relays que vous utilisez. À l'avenir, les gouvernements pourraient créer des relays Nostr spécifiquement pour collecter des adresses IP.
- Pensez également à la confidentialité de votre nœud Lightning. Faire tourner LND derrière Tor est possible et recommandé dans les environnements sensibles.
La beauté de Mostro étant décentralisé est que même si un nœud est arrêté, les autres continuent de fonctionner. Mais la prévention est toujours préférable à la guérison. Prenez la confidentialité au sérieux dès le premier jour.
9. Dépannage
Mostro ne démarre pas
« Configuration error: dev_fee_percentage below minimum »
Définissez dev_fee_percentage à au moins 0.10 dans settings.toml.
Fichier de configuration ou base de données introuvable
Assurez-vous que le flag -d pointe vers le répertoire contenant settings.toml. Pour Docker Hub : vérifiez que ~/mostro-config/settings.toml existe.
« Failed to connect to LND »
- Vérifiez que LND tourne :
lncli getinfo - Vérifiez que
lnd_grpc_hostcorrespond à l'adresse de votre LND - Vérifiez que les chemins de
tls.certetadmin.macaroonsont corrects - Docker + LND sur l'hôte : utilisez
host.docker.internal
Problèmes de connexion
Mostro démarre mais ne se connecte pas aux relays
- Vérifiez les URLs des relays (doivent commencer par
wss://) - Assurez-vous que le pare-feu de votre VPS autorise les connexions sortantes sur le port 443
- Essayez avec différents relays — certains peuvent être temporairement en panne
Problèmes de transactions
Les ordres n'apparaissent pas dans les clients
- Vérifiez les connexions aux relays dans les logs
- Assurez-vous que les clients utilisent les mêmes relays que votre nœud
Paiements échouant
- Vérifiez la liquidité :
lncli listchannels - Assurez-vous d'avoir suffisamment de capacité sortante
- Vérifiez le paramètre
max_routing_fee
Problèmes de base de données
Erreurs de base de données verrouillée
ps aux | grep mostrod
# S'il y a plusieurs processus, supprimez les extras :
kill <PID> Obtenir de l'aide
- Vérifiez les logs d'abord — la plupart des erreurs expliquent ce qui a mal tourné
- Telegram (Développeurs) : @mostro_dev
- Telegram (Communauté) : @MostroP2P
- GitHub Issues : github.com/MostroP2P/mostro/issues
- DeepWiki : deepwiki.com/MostroP2P/mostro
Quand vous demandez de l'aide, incluez toujours : votre version de Mostro, les logs pertinents, et ce que vous avez déjà essayé.
Annexe : Référence Rapide
Emplacements importants des fichiers
| Fichier | Docker Hub | Natif |
|---|---|---|
| Configuration | ~/mostro-config/settings.toml | /opt/mostro/settings.toml |
| Base de données | ~/mostro-config/mostro.db | /opt/mostro/mostro.db |
| Cert LND | ~/mostro-config/lnd/tls.cert | Variable (voir config LND) |
| Macaroon LND | ~/mostro-config/lnd/admin.macaroon | Variable (voir config LND) |
| Service | N/A | /etc/systemd/system/mostro.service |
| Logs | docker logs -f mostro | journalctl -u mostro |
Commandes essentielles
# Docker
docker logs -f mostro # Voir les logs
docker restart mostro # Redémarrer
docker stop mostro # Arrêter
# Natif (systemd)
systemctl start mostro # Démarrer
systemctl stop mostro # Arrêter
systemctl restart mostro # Redémarrer
systemctl status mostro # Voir le statut
journalctl -u mostro -f # Voir les logs
# Base de données
sqlite3 mostro.db "SELECT COUNT(*) FROM orders;" # Total des ordres
sqlite3 mostro.db "SELECT COUNT(*) FROM orders WHERE status='success';" # Transactions réussies
sqlite3 mostro.db "SELECT SUM(fee + dev_fee) FROM orders WHERE status='success';" # Total des frais Configuration recommandée pour les nouveaux nœuds
[mostro]
fee = 0.006
max_order_amount = 500000
min_payment_amount = 1000
expiration_hours = 24
expiration_seconds = 900
pow = 0
dev_fee_percentage = 0.30
fiat_currencies_accepted = ['USD'] # Changez pour votre devise locale
[nostr]
relays = [
'wss://relay.mostro.network',
'wss://nos.lol',
'wss://relay.nostr.band'
] Ce guide est maintenu par la communauté Mostro. Vous avez trouvé une erreur ou souhaitez l'améliorer ?
Les contributions sont les bienvenues sur github.com/MostroP2P/community
Dernière mise à jour : Février 2026 · Mostro v0.16.3