Gestion

Les masternodes impliquent une gestion régulière, pour être certain qu’ils ne soient pas éjectés de la file d’attente des paiements. Cela comprend l’installation sans attendre des mises à jour de Dash, mais aussi certaines opérations de sécurité et de performance sur le serveur. De plus, les masternodes doivent voter sur les propositions et accomplir d’autres tâches dans l’intérêt du réseau et de la valeur en dashs qu’ils représentent.

Retrait des paiements

Une fois votre masternode accepté par le réseau, il sera placé au bout de la file d’attente des paiements puis se mettra à la remonter lentement. À chaque minage d’un nouveau bloc, un masternode atteignant les 10% supérieurs de la liste sera choisi et recevra un paiement. Pour en savoir plus sur ce processus, voir ici. Ces paiements sont envoyés à l’adresse déjà utilisée pour démarrer votre masternode, ce qui signifie que vous devez être prudent si vous souhaitez retirer les paiements. Le paiement originel de 1000 dashs, utilisé pour démarrer votre masternode, doit rester intact, sous la forme d’une unique transaction de sortie (utxo) non dépensée, sinon votre masternode sera éjecté de la liste d’attente des paiements – il est probable que vous ayez vu l’identifiant de cette transaction lorsque vous avez préparé la commande de démarrage de masternode. Les paiements apparaissent sous forme de transactions distinctes, donc vous aurez besoin de savoir comment dépenser seulement ces transactions-ci, mais pas celle contenant les 1000 dashs. Veuillez noter que les paiements de masternode ne peuvent être dépensés qu’après 100 confirmations.

Option 1 : Retraits avec un portefeuille matériel

Si vous vous êtes servi d’un portefeuille matériel, tel qu’un Trezor, pour démarrer votre masternode, vous devrez également vous en servir pour retirer vos paiements. Une fois de plus, nous utiliserons le logiciel DashMasternodeTool (DMT) de Bertrand256 pour sélectionner les sorties correctes. Avec DMT, nous pouvons choisir des transactions de sortie (UTXO) spécifiques pour retirer les paiements, tout en préservant la transaction originelle de la caution. Cela n’est pas possible avec le portefeuille web Trezor seul.

Lancez DMT et vérifiez que les connexions RPC et HW (matérielle) fonctionnent bien. Dans le menu Outils, choisissez Transférer les fonds depuis l’adresse du masternode actuel, ou bien Transférer les fonds depuis toutes les adresses de masternode si DMT vous sert à gérer plusieurs masternodes.

../_images/maintenance-dmt-tools.png

Choix de la fonction de transfert de fonds dans DMT

DMT tournera un moment, puis ouvrira une fenêtre montrant les UTXO que vous pouvez utiliser pour votre retrait. Par défaut, toutes les UTXO non utilisées comme caution de masternode sont cochées. Les UTXO de caution de masternode ne sont pas cochées et, en plus, elles sont cachées, dans le but d’éviter de déplacer sans le vouloir des fonds de caution et donc d’arrêter votre masternode. Vous pouvez afficher ces entrées cachées en décochant l’option Cacher les UTXO de caution. Saisissez l’adresse de destination de la transaction. La fenêtre doit ressembler à quelque chose comme ceci :

../_images/maintenance-dmt-utxos.png

Choix des UTXO à utiliser comme entrées de la transaction de retrait

Vérifiez la transaction puis cliquez sur Envoyer. Votre Trezor vous demandera d’entrer votre code PIN puis de confirmer la transaction sur l’appareil. Une fois fait, confirmez une dernière fois à DMT que vous souhaitez diffuser la transaction au réseau, en cliquant sur Oui. Une confirmation comportant l’identifiant de transaction sera affichée.

../_images/maintenance-dmt-broadcast.png
../_images/maintenance-dmt-sent.png

Confirmation de la diffusion de la transaction au réseau

Option 2 : Retraits avec le portefeuille logiciel Dash Core

De manière similaire à la procédure DMT décrite ci-dessus, il nous faut, dans le portefeuille logiciel Dash Core, restreindre les transactions de sortie (UTXO) pouvant être dépensées lors d’un retrait depuis une adresse de masternode, afin de nous assurer que l’UTXO de caution reste intacte. Dans le portefeuille logiciel Dash Core, cette fonction porte le nom de Contrôle des pièces, et elle doit être activée pour pouvoir être utilisée. Allez dans le menu Réglages > Options > Portefeuille > Activer les fonctionnalités de contrôle des pièces. Désormais, quand vous irez dans l’onglet Envoyer de votre portefeuille, un nouveau bouton Entrées… sera affiché. Cliquez sur ce bouton pour choisir les UTXO pouvant servir d’entrées pour les transactions que vous créez. La fenêtre suivante s’affiche :

../_images/maintenance-dashcore-coin-selection.png

Fenêtre de Contrôle des pièces dans le portefeuille logiciel Dash Core, affichant deux masternodes (du réseau de test)

Faites un clic-droit sur la ou les transaction(s) d’un montant de 1000 dashs, puis choisissez Verrouiller les transactions non dépensées. Une petite icône en forme de cadenas sera affichée à côté de la transaction. Puis cliquez sur OK. Vous pouvez désormais créer des transactions en toute sécurité avec les fonds restants, sans que cela n’affecte les UTXO originelles de la caution.

../_images/maintenance-dashcore-lock-unspent.png
../_images/maintenance-dashcore-locked.png

Verrouillage de transactions de sortie (UTXO) dans le portefeuille logiciel Dash Core

Comment mettre à jour un masternode

L’équipe de développement Dash Core publie régulièrement des mises à jour de Dash. Comme les nœuds normaux s’appuient sur les masternodes pour certains services et l’obtention de copies de la blockchain, il est demandé aux masternodes d’appliquer rapidement les mises à jour de Dash et de Sentinel. Dans certains cas, des mises à jour matérielles (plus de puissance processeur, de mémoire vive, d’espace-disque, voire du matériel spécialisé GPU/ASIC) peuvent être aussi nécessaires. Ne pas faire les mises à jour entraîne à terme l’éjection de votre masternode de la file d’attente des paiements. Si votre masternode est hébergé, votre hébergeur fera les mises à jour pour vous. Si ce n’est pas le cas, la méthode de mise à jour dépend de la façon dont vous avez installé Dash Core sur votre serveur.

Les mises à jour mineures de Dash (par ex. de la version 0.12.3.1 à la 0.12.3.2) ne comportent aucun changement de la version du protocole, cependant que les mises à jour majeures (par ex. de 0.12.2.3 à 0.12.3.0) changent en général la version du protocole de réseau. Si la version du protocole n’a pas changé, vous n’avez PAS besoin de redémarrer votre masternode, du moment que vous avez fait la mise à jour en moins de 60 minutes. Si la version du protocole a changé, vous devez émettre une commande de démarrage depuis votre portefeuille. N’envoyez pas de commande de démarrage de votre masternode si ce n’est pas nécessaire, car cette commande vous renvoie au début de la file d’attente des paiements.

Option 1 : Mise à jour automatique avec Dashman

Pour faire une mise à jour en utilisant Dashman, connectez-vous à votre serveur et saisissez les commandes suivantes

~/dashman/dashman sync
~/dashman/dashman update

Vérifiez l’état de votre masternode

~/dashman/dashman status

Si vous faites une mise à jour importante et devez redémarrer votre masternode, mettez aussi à jour, sans attendre, le logiciel du portefeuille détenant la caution vers la plus récente version, en suivant les instructions ici. Surveillez en continu votre masternode. Au bout d’un certain temps, tous les états devraient s’afficher en vert, en particulier masternode démarré : OUI et état réseau du masternode : ACTIVÉ.

Option 2 : Mise à jour manuelle

Pour mettre à jour Dash Core manuellement, connectez-vous à votre serveur au moyen de ssh ou de PuTTY. Nous devons d’abord arrêter Dash:

~/.dashcore/dash-cli stop

Pour télécharger et installer manuellement les composants de votre masternode Dash, allez à l’adresse https://www.dash.org/wallets sur votre ordinateur pour trouver le lien du portefeuille Dash Core le plus récent. Cliquez sur Linux, puis faites un clic-droit sur Télécharger TGZ pour Dash Core Linux 64 bits et choisissez Copier l’adresse du lien. Revenez à votre fenêtre de terminal et saisissez la commande suivante, en y collant l’adresse de la plus récente version de Dash Core par un clic-droit, ou par la combinaison de touches Ctrl-V

cd ~
wget https://github.com/dashpay/dash/releases/download/v0.12.3.3/dashcore-0.12.3.3-x86_64-linux-gnu.tar.gz

Vérifiez l’intégrité de votre téléchargement en lançant la commande suivante et en comparant sa valeur de sortie à la valeur du fichier affiché sur le site Dash sous le nom de Fichier d’empreinte numérique

sha256sum dashcore-0.12.3.3-x86_64-linux-gnu.tar.gz
../_images/setup-manual-download.png

Lien vers le fichier d’empreinte numérique pour vérifier l’intégrité du téléchargement

Enlevez les vieux exécutables du répertoire de travail, décompressez l’archive compressée, copiez les nouveau fichiers dans le répertoire et rendez-les exécutables

rm ~/.dashcore/dashd
rm ~/.dashcore/dash-cli
tar xfvz dashcore-0.12.3.3-x86_64-linux-gnu.tar.gz
cp dashcore-0.12.3/bin/dashd ~/.dashcore/
cp dashcore-0.12.3/bin/dash-cli ~/.dashcore/

Nettoyez les fichiers non nécessaires

rm dashcore-0.12.3.3-x86_64-linux-gnu.tar.gz
rm -r dashcore-0.12.3/

Redémarrez Dash

~/.dashcore/dashd

Vous verrez un message disant « Démarrage du serveur Dash Core ». Nous allons maintenant mettre à jour Sentinel

cd ~/.dashcore/sentinel/
git pull

Si la version du protocole a changé durant cette mise à jour, vous devrez émettre une commande de démarrage depuis votre portefeuille. Si vous utilisez un portefeuille matériel, vous pouvez émettre la commande de démarrage en cliquant simplement le bouton correspondant dans DMT. Si vous utilisez le portefeuille logiciel Dash Core, mettez-le à jour vers la plus récente version, puis ouvrez la console de débogage et saisissez cette commande, où « MN1 » est l’alias de votre masternode

masternode start-alias MN1

Surveillez l’état de votre masternode pendant son démarrage

~/.dashcore/dash-cli getblockcount
~/.dashcore/dash-cli getnetworkinfo
~/.dashcore/dash-cli mnsync status
~/.dashcore/dash-cli masternode status

En particulier, la dernière commande devrait renvoyer l’état Masternode démarré avec succès. Si vous voyez une erreur ressemblant à Version de protocole invalide, cela signifie que la version du protocole a changé et que vous devez émettre à nouveau une commande de démarrage depuis votre portefeuille. Vous pouvez aussi suivre l’état de votre masternode depuis Sentinel. Si Sentinel détecte un masternode en état de marche, la commande suivante ne devrait rien renvoyer

cd ~/.dashcore/sentinel
venv/bin/python bin/sentinel.py

Enfin, vous pouvez vérifier l’état de votre masternode par son adresse de caution au moyen de DashNinja, ou bien chercher dans la liste consensuelle des masternodes avec cette commande, et en saisissant l’adresse IP de votre masternode

~/.dashcore/dash-cli masternode list full | grep <your ip address>

Trouver votre position dans la file d’attente des paiements

Dans les versions de Dash antérieures à 0.12.4, chaque masternode peut avoir une vision légèrement différente du réseau. De plus, la sélection dans les 10% supérieurs de la liste du groupe de sélection est aléatoire. Cela veut dire qu’il n’y a pas de réponse définitive à la question de savoir quand votre masternode sera choisi pour le paiement. Cependant, il est possible d’obtenir une approximation, basée sur le temps depuis lequel votre masternode est entré au bout de la file d’attente.

Xkcd, Bertrand256 et Moocowmoo, membres de la communauté, ont publié différents outils que vous pouvez utiliser pour déterminer votre position approximative dans la file d’attente des paiements, et des robots existent aussi sur Discord et Slack.

Vote, vérification et suivi avec DashCentral

DashCentral est un site web communautaire géré par Rango, membre de la communauté. Il est devenu le site de facto pour les débats sur les propositions budgétaires et pour accomplir le vote avec une interface graphique, mais il propose aussi diverses fonctions de suivi de masternodes.

Ajouter votre masternode à DashCentral

Dashcentral vous permet de voter confortablement sur les propositions budgétaires, avec votre navigateur Internet. Après vous être inscrit, allez à la page des masternodes et cliquez sur le bouton Ajouter maintenant un masternode. Saisissez votre adresse de caution sur l’écran suivant

../_images/maintenance-dc-add-masternode.png

Ajout d’un masternode dans DashCentral

Cliquez sur Ajouter un masternode. Votre masternode est désormais ajouté à DashCentral.

Activer le vote depuis DashCentral

Cliquez sur Modifier, sous Clés privées de vote, pour saisir la clé privée de votre masternode et rendre possible le vote par l’interface web DashCentral. Saisissez une phrase de passe de vote (pas la même que votre mot de passe de connexion, mais dont il faut aussi bien se souvenir !) et saisissez la clé privée (celle que vous avez utilisée dans le fichier « dash.conf » de votre masternode) sur l’écran suivant

../_images/maintenance-dc-add-privkey.png

Ajout de clés privées de vote dans DashCentral

Il est important de noter que la clé privée de démarrage de votre masternode est sans rapport avec les clés privées de l’adresse de caution détenant vos 1000 dashs. Cette clé peut être utilisée pour émettre des commandes au nom du masternode, telles que le vote, mais ne peuvent pas servir à accéder à la caution. Les clés sont chiffrées sur votre ordinateur et ne sont jamais stockées en clair sur les serveurs de DashCentral. Une fois que vous avez saisi la clé, cliquez sur Stocker sur le serveur les clés privées de vote chiffrées. Vous pouvez à présent voter sur les propositions budgétaires depuis l’interface web DashCentral.

Certification de propriété

Vous pouvez également émettre un message depuis votre adresse pour certifier à DashCentral que vous êtes propriétaire de votre masternode. Cliquez sur Non vérifié sous Propriété et l’écran suivant s’affichera

../_images/maintenance-dc-verify.png

Certification à DashCentral de la propriété de votre masternode

Des instructions sur la manière de signer votre adresse de caution avec un portefeuille logiciel sont affichées. Si vous utilisez un portefeuille matériel qui n’est pas un Trezor, vous devrez utiliser l’application DashMasternodeTool (DMT) pour signer l’adresse. Si vous utilisez le portefeuille matériel Trezor, allez à l’adresse du portefeuille Trezor, copiez l’adresse de caution et cliquez sur Signer & vérifier. L’écran suivant s’affiche, où vous pouvez saisir le message fourni par DashCentral et l’adresse que vous souhaitez signer

../_images/maintenance-dc-sign.png

Signature d’un message depuis le portefeuille Trezor

Cliquez sur Signer, confirmez sur votre appareil Trezor et saisissez votre code PIN pour signer le message. Une signature de message apparaîtra dans le champ Signature. Copiez cette signature et collez-la dans le champ sur DashCentral, puis cliquez sur Vérifier la propriété. La certification est maintenant terminée.

../_images/maintenance-dc-verified.png

Propriété du masternode certifiée avec succès

Installation du script de suivi DashCentral

DashCentral propose un service de suivi de masternode, qui redémarrera automatiquement dashd dans le cas d’un crash, et enverra un message par e-mail dans le cas d’une erreur. Allez sur la page des réglages de compte et générez une nouvelle clé d’API, en ajoutant si nécessaire un code PIN à votre compte. Défilez jusqu’à l’écran suivant

../_images/maintenance-dc-monitoring.png

Configuration du script de suivi de DashCentral

Copiez le lien de la version la plus récente du script DashCentral en faisant un clic-droit dessus et en choisissant Copier l’adresse du lien. Ouvrez votre terminal ou PuTTY et connectez-vous à votre masternode, puis tapez

wget https://www.dashcentral.org/downloads/dashcentral-updater-v6.tgz

Remplacez le lien avec celui de la version la plus récente de dashcentral-updater, si nécessaire. Décompressez l’archive avec la commande suivante

tar xvzf dashcentral-updater-v6.tgz

Consultez les détails de configuration de votre masternode en tapant

cat .dashcore/dash.conf

Copiez les valeurs de rpcuser et rpcpassword. Puis modifiez la configuration DashCentral en tapant

nano dashcentral-updater/dashcentral.conf

Remplacez les valeurs de api_key, de l’adresse de caution de votre masternode, de rpc_user, de rpc_password, de daemon_binary et daemon_datadir en fonction de votre système. Une configuration courante, où lwhite est le nom de l’utilisateur Linux, ressemble à ça

../_images/maintenance-dc-update-config.png

Fichier de configuration de dashcentral-updater

################
# dashcentral-updater configuration
################

our %settings = (
    # Enter your DashCentral api key here
    'api_key' => 'api_key_from_dashcentral'
);

our %masternodes = (
    'masternode_collateral_address' => {
        'rpc_host'           => 'localhost',
        'rpc_port'           => 9998,
        'rpc_user'           => 'rpc_user_from_dash.conf',
        'rpc_password'       => 'rpc_password_from_dash.conf',
        'daemon_autorestart' => 'enabled',
        'daemon_binary'      => '/home/<username>/.dashcore/dashd',
        'daemon_datadir'     => '/home/<username>/.dashcore'
    }
);

Appuyez sur Ctrl-X pour sortir, confirmez l’enregistrement avec Y ou O et tapez sur Entrée. Testez votre configuration en lançant le script DashCentral, puis allez voir le site web. Si tout s’est bien passé, vous constaterez qu’une mise à jour a été transmise

dashcentral-updater/dcupdater
../_images/maintenance-dc-update.png

Test manuel de la mise à jour DashCentral

../_images/maintenance-dc-success.png

dashcentral-updater a bien envoyé des données au site DashCentral

Une fois que vous avez vérifié que votre configuration fonctionne, vous pouvez modifier le fichier crontab sur votre système pour demander l’exécution du script dcupdater toutes les 2 minutes. Cela permet au système de vous envoyer rapidement une alerte en cas de problème, et ça redémarrera même le daemon dashd s’il est gelé ou s’il plante. C’est un moyen efficace de vous assurer de ne pas être éjecté de la file d’attente des paiements. Tapez la commande suivante

crontab -e

Choisissez un éditeur de texte si nécessaire, puis ajoutez la ligne suivante à votre fichier crontab après la ligne concernant Sentinel, en remplaçant « lwhite » par votre nom d’utilisateur sur l’ordinateur

*/2 * * * * /home/lwhite/dashcentral-updater/dcupdater
../_images/maintenance-dc-crontab.png

Modification du fichier crontab pour exécuter automatiquement dashcentral-updater

Tapez Ctrl-X pour sortir, confirmez l’enregistrement avec Y ou O puis appuyez sur Entrée. Le script dcupdater se lancera désormais toutes les deux minutes, redémarrera dashd si nécessaire et vous enverra des messages par e-mail en cas d’erreur.

Outils de suivi de masternode

Plusieurs sites gérés par des membres de la communauté sont disponibles pour surveiller les informations clés et suivre les statistiques du réseau des masternodes.

Explorateurs de blocs

Puisque Dash est une blockchain publique, il est possible d’utiliser des explorateurs de blocs pour consulter les soldes de n’importe quelle adresse publique Dash, ou bien examiner les transactions insérées dans un bloc donné. Chaque transaction unique peut également être trouvée par son identifiant de transaction. Un certain nombre d’explorateurs de blocs sont disponibles pour le réseau Dash.

DashMasternodeTool

https://github.com/Bertrand256/dash-masternode-tool

Écrit et géré par Bertrand256, membre de la communauté, DashMasternodeTool (DMT) vous permet de démarrer un masternode depuis tous les principaux portefeuilles matériels, tels que Trezor, Ledger et KeepKey. Il permet également de voter sur les propositions budgétaires et de retirer des paiements de masternode sans affecter la transaction de caution.

DASH Ninja

https://www.dashninja.pl

Dash Ninja, géré par Elbereth, développeur Dash Core et membre du forum Dash, propose des statistiques clés sur l’adoption de différentes versions de Dash dans le réseau des masternodes. Plusieurs fonctions sont également disponibles pour suivre la gouvernance de Dash, le calendrier des paiements de masternode et leur distribution géographique, ainsi qu’un explorateur de blocs simple.

DashCentral

https://www.dashcentral.org

DashCentral, géré par Rango, membre du forum, propose un service avancé de suivi des masternodes et de vote sur les propositions budgétaires au moyen d’une interface web. Une application Android est également disponible.

Masternode.me

https://stats.masternode.me

Masternode.me, géré par Moocowmoo, développeur Dash Core et membre du forum, génère des rapports récurrents sur le cours, le taux de génération, des informations sur la blockchain et sur les masternodes.

Dash Masternode Information

http://178.254.23.111/~pub/Dash/Dash_Info.html

Ce site, géré par Crowning, développeur Dash Core et membre du forum, propose une représentation visuelle de beaucoup de statistiques clés du réseau des masternodes Dash, dont des graphiques du nombre total de masternodes à travers le temps, des informations sur le cours et sur la distribution du réseau.