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. Suivez la procédure ci-dessous pour mettre à jour manuellement votre masternode. Si vous utilisez encore l’installeur obsolète Dashman, veuillez vous référer à la documentation obsolète ici.

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

Visit the GitHub releases page and copy the link to the latest x86_64-linux-gnu version. Go back to your terminal window and enter the following command, pasting in the address to the latest version of Dash Core by right clicking or pressing Ctrl + V:

cd /tmp
wget https://github.com/dashpay/dash/releases/download/v20.0.4/dashcore-20.0.4-x86_64-linux-gnu.tar.gz

Vérifiez l’authenticité de votre téléchargement en comparant sa signature séparée à la clé publique diffusée par l’équipe de développement Dash Core. Toutes les versions de Dash sont signées avec GPG avec une des clés suivantes :

curl https://keybase.io/codablock/pgp_keys.asc | gpg --import
curl https://keybase.io/pasta/pgp_keys.asc | gpg --import
wget https://github.com/dashpay/dash/releases/download/v20.0.4/dashcore-20.0.4-x86_64-linux-gnu.tar.gz.asc
gpg --verify dashcore-20.0.4-x86_64-linux-gnu.tar.gz.asc

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

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

Redémarrez Dash :

~/.dashcore/dashd

You will see a message reading « Dash Core server starting ». The Dash software on the masternode is now updated.

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.

Modifier la clé d’opérateur BLS ou créer une nouvelle transaction ProTx basée sur la même transaction de caution remettra à zéro votre position dans la file d’attente de paiement. Modifier votre adresse IP ou vos adresses diverses de vote ou de paiement ne changera pas votre position dans la file d’attente de paiement.

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 operatorPayoutAddress dans la transaction ProUpServTx. Si la valeur operatorPayoutAddress 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. Une transaction ProUpServTx peut être créée avec DashMasternodeTool en cliquant sur le bouton Update service, ou avec le portefeuille logiciel Dash Core en utilisant la syntaxe suivante :

protx update_service proTxHash ipAndPort operatorKey (operatorPayoutAddress feeSourceAddress)

Où :

  • proTxHash : l’identifiant 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. Tapez "" pour utiliser la dernière adresse de paiement d’opérateur présente sur chaîne, ou en tant qu’espace réservé lorsque vous indiquez une feeSourceAddress.

  • 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. Une transaction ProUpRegTx peut être créée avec DashMasternodeTool en cliquant sur le bouton Update operator key, Update voting key ou Update payout addr., ou avec le portefeuille logiciel Dash Core en utilisant la syntaxe suivante :

protx update_registrar proTxHash operatorKeyAddr votingKeyAddr payoutAddress (feeSourceAddress)

Avertissement

After v19 hard fork activation, protx update_registrar_legacy must be used if a legacy scheme BLS key is being used to registrar update a masternode.

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é de vote 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). Une transaction ProUpRevTx peut être créée avec DashMasternodeTool en cliquant sur le bouton Revoke operator, ou avec le portefeuille logiciel Dash Core en utilisant 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

Bannissements liés à la preuve de service#

Si votre masternode échoue à fournir des services au réseau conformément aux règles de consensus en vigueur, il fera l’objet d’un bannissement lié à la preuve de service. Si votre masternode est dans l’état POSE_BANNED, il vous est conseillé de vérifier que les paramètres suivants soient correctement configurés :

  • Assurez-vous d’utiliser la dernière version de Dash

  • Vérifiez que votre masternode dispose de suffisamment de mémoire, de swap, de puissance processeur et d’espace de stockage.

  • Assurez-vous qu’il soit entièrement synchronisé jusqu’à la bonne hauteur de bloc, et qu’il soit sur la bonne chaîne non forkée.

  • Vérifiez qu’une clé privée BLS ait bien été spécifiée avec l’option masternodeblsprivkey dans le fichier dash.conf du masternode.

  • Assurez-vous que la clé privée BLS du masternode soit unique sur le réseau, et qu’elle ne soit pas partagée avec d’autres masternodes.

  • Assurez-vous que la clé privée BLS du masternode corresponde à la clé publique BLS enregistrée sur la blockchain avec une transaction ProRegTx ou ProUpRegTx.

  • Vérifiez que les paramètres externalip (et port si vous utilisez le réseau de test) soient indiqués correctement, et qu’ils ne sont pas bloqués par un pare-feu ou un service de redirection de ports.

Une fois que vous êtes certain que tous ces paramètres sont corrects, vous pouvez mettre à jour l’état de votre service sur le réseau et rejoindre le groupe des masternodes valides en créant une transaction ProUpServTx. Surveillez de près votre masternode en utilisant la commande masternode status et/ou le fichier debug.log après que les services aient été rétablis. Ces informations peuvent vous aider à identifier l’élément mal configuré qui entraîne le bannissement du masternode. Le masternode sera à nouveau banni s’il persiste à ne pas fournir de services.

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

Select an editor if necessary and add the following line at the end of your crontab, replacing lwhite with your username on your system:

*/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#

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, operated by forum member rango, offers an advanced service to monitor masternodes and vote on budget proposals through an advanced web interface.

Masternode.me#

https://stats.masternode.me

Masternode.me, géré par Moocowmoo, membre de la communauté, 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.