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.

Mise à jour du logiciel du masternode

Le logiciel Dash Core doit être mis à jour régulièrement, afin de rester cohérent avec l’état le plus récent du réseau. Selon la manière dont vous aviez installé ce logiciel, manuellement ou avec Dashman, vous devez suivre la procédure appropriée pour votre masternode, telle que décrite ci-dessous.

Option 1 : Mise à jour avec Dashman

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

~/dashman/dashman sync update -y

Vérifiez l’état de votre masternode :

~/dashman/dashman status

Le logiciel Dash sur votre masternode est maintenant à jour.

Option 2 : Mise à jour manuelle

Pour mettre à jour manuellement le logiciel Dash sur votre masternode, veuillez vous connecter à votre server avec ssh ou PuTTY. Si votre fichier crontab comporte une entrée pour redémarrer automatiquement dashd, saisissez la commande crontab -e et commentez la ligne appropriée en ajoutant le caractère # à son début. Cela doit ressembler à ceci :

# * * * * * pidof dashd || ~/.dashcore/dashd

Puis interrompez l’exécution de Dash :

~/.dashcore/dash-cli stop

Allez sur la page GitHub des publications et copiez le lien vers la version x86_64-linux-gnu la plus récente. 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 /tmp
wget https://github.com/dashpay/dash/releases/download/v0.14.0.1/dashcore-0.14.0.1-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 donnée par le fichier SHA256SUMS.asc :

sha256sum dashcore-0.14.0.1-x86_64-linux-gnu.tar.gz

Décompressez l’archive et copiez les nouveaux fichiers dans le répertoire :

tar xfv dashcore-0.14.0.1-x86_64-linux-gnu.tar.gz
cp -f dashcore-0.14.0/bin/dashd ~/.dashcore/
cp -f dashcore-0.14.0/bin/dash-cli ~/.dashcore/

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 checkout master
git pull

Enfin, dans votre fichier crontab, décommentez la ligne permettant de redémarrer automatiquement Dash. Faites à nouveau la commande crontab -e et effacez le caractère #.

Le logiciel Dash sur votre masternode est maintenant à jour.

Mise à jour des informations du masternode

De temps en temps, il peut être nécessaire de mettre à jour les informations du masternode si toute information relative au propriétaire ou à l’opérateur vient à changer. Il peut s’agir par exemple d’un changement d’adresse IP, ou de l’adresse de paiement du propriétaire ou de l’opérateur, ou des clés de vote ou d’opérateur. Il est également possible de révoquer l’état enregistré d’un masternode (dans le cas d’une faille de sécurité, par exemple) pour forcer à la fois le propriétaire et l’opérateur à mettre à jour leurs informations.

ProUpServTx

Une transaction de service de mise à jour du fournisseur (Provider Update Service Transaction, ProUpServTx) est utilisée pour mettre à jour les informations relatives à l’opérateur. Un opérateur peut mettre à jour les champs d’adresse IP et de port d’un masternode. Si une récompense d’opérateur (operatorReward) différente de zéro a été définie dans la transaction ProRegTx initiale, l’opérateur peut aussi définir le champ scriptOperatorPayout dans la transaction ProUpServTx. Si la valeur scriptOperatorPayout n’est pas définie et que la valeur operatorReward n’est pas égale à zéro, le propriétaire perçoit l’intégralité de la récompense de masternode. La transaction ProUpServTx a la syntaxe suivante :

protx update_service proTxHash ipAndPort operatorKey (operatorPayoutAddress feeSourceAddress)

Où :

  • proTxHash : l’empreinte de la transaction ProRegTx initiale
  • ipAndPort : l’adresse IP et le port du masternode, suivant le format x.x.x.x:yyyy
  • operatorKey : la clé privée BLS de l’opérateur associée à la clé publique enregistrée de l’opérateur
  • operatorPayoutAddress (facultatif) : l’adresse utilisée pour recevoir les paiements de la récompense d’opérateur. Autorisée uniquement si la transaction ProRegTx a une valeur operatorReward différente de zéro.
  • feeSourceAddress (facultatif) : une adresse où seront prélevés les frais de la transaction ProTx. À défaut, operatorPayoutAddress sera utilisée.

Exemple :

protx update_service d6ec9a03e1251ac8c34178f47b6d763dc4ea6d96fd6eddb3c7aae2359e0f474a 140.82.59.51:10002 4308daa8de099d3d5f81694f6b618381e04311b9e0345b4f8b025392c33b0696 yf6Cj6VcCfDxU5yweAT3NKKvm278rVbkhu

fad61c5f21cf3c0832f782c1444d3d2e2a8dbff39c5925c38033730e64ecc598

Le masternode est à présent retiré de la liste de bannissement PoSe, et l’adresse IP, le port et l’adresse de récompense de l’opérateur ont été mis à jour.

ProUpRegTx

Une transaction d’enregistrement de mise à jour du fournisseur (Provider Update Registrar Transaction, ProUpRegTx) est utilisée pour mettre à jour les informations relatives au propriétaire. Un propriétaire peut mettre à jour la clé publique BLS d’un opérateur (par exemple pour désigner un nouvel opérateur), l’adresse de vote et sa propre adresse de paiement. La transaction ProUpRegTx a la syntaxe suivante :

protx update_registrar proTxHash operatorKeyAddr votingKeyAddr payoutAddress (feeSourceAddress)

Où :

  • proTxHash : l’identifiant de la transaction ProRegTx initiale
  • operatorKeyAddr : une clé publique BLS mise à jour, ou bien "" pour utiliser la dernière clé d’opérateur sur chaîne
  • votingKeyAddr : une adresse de clé de vote mise à jour, ou bien "" pour utiliser la dernière clé d’opérateur sur chaîne
  • payoutAddress : une adresse Dash pour les paiements du propriétaire mise à jour, ou bien "" pour utiliser la dernière clé d’opérateur sur chaîne
  • feeSourceAddress (facultatif) : une adresse où seront prélevés les frais de la transaction ProTx. À défaut, PayoutAddress sera utilisée.

Exemple de mise à jour de l’adresse de paiement :

protx update_registrar cedce432ebabc9366f5eb1e3abc219558de9fbd2530a13589b698e4bf917b8ae "" "" yi5kVoPQQ8xaVoriytJFzpvKomAQxg6zea

ProUpRevTx

Une transaction de révocation de mise à jour de fournisseur (Provider Update Revocation Transaction, ProUpRevTx) est utilisée par l’opérateur pour interrompre le service ou pour signaler au propriétaire qu’une nouvelle clé BLS est requise. Cette transaction mettra immédiatement le masternode dans l’état de bannissement PoSe. Le propriétaire doit alors émettre une transaction ProUpRegTx pour définir une nouvelle clé d’opérateur. Après que la transaction ProUpRegTx est minée dans un bloc, le nouvel opérateur doit émettre une transaction ProUpServTx pour mettre à jour les métadonnées relatives au service et pour lever le bannissement PoSe (c’est-à-dire ressusciter le masternode). La transaction ProUpRevTx a la syntaxe suivante :

protx revoke proTxHash operatorKey reason (feeSourceAddress)

Où :

  • proTxHash : l’identifiant de la transaction ProRegTx initiale
  • operatorKey : la clé privée BLS de l’opérateur associée à la clé publique enregistrée de l’opérateur
  • reason : un nombre entier indiquant la raison de la révocation
  • feeSourceAddress (facultatif) : une adresse où seront prélevés les frais de la transaction ProTx. À défaut, operatorPayoutAddress sera utilisée.

Exemple :

protx revoke 9f5ec7540baeefc4b7581d88d236792851f26b4b754684a31ee35d09bdfb7fb6 565950700d7bdc6a9dbc9963920bc756551b02de6e4711eff9ba6d4af59c0101 0

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.