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.

Updating masternodes

Periodically, the Dash Core development team will release updates to Dash. Since normal nodes rely on them for services and copies of the blockchain, masternodes are expected to update to new versions of Dash. In some cases, hardware upgrades may also be necessary. Not updating will eventually result in your masternode being removed from the payment queue by the Proof of Service (PoSe) system. If you run a hosted masternode, your hosting operator will take care of updates for you. If not, the method of updating depends on how you installed Dash.

Les mises à jour mineures de Dash (par ex. de la version à la ne comportent aucun changement de la version du protocole, cependant que les mises à jour majeures (par ex. de à 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.

Dash 0.13 Upgrade Procedure

This documentation describes how to upgrade a masternode from Dash 0.12.3 to Dash 0.13.0 without moving your collateral. Please see the stable documentation for older versions of Dash.

Dash 0.13.0 introduced Deterministic Masternode Lists, a new method of finding consensus on the list of valid masternodes. Due to the deep underlying changes and new signature formats involved, the instructions on how to update a masternode have changed as well. We will begin by updating the Dash software itself.

Software update

This process describes how to update dashd on a testnet masternode to the Dash 0.13.0 Release Candidates. Begin by logging in to your masternode using ssh or PuTTY. First we need to stop Dash running:

~/.dashcore/dash-cli stop

Visit the GitHub releases page and copy the link to the latest 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 ~

Verify the integrity of your download by running the following command and comparing the output against the value for the file as shown in the SHA256SUMS.asc file:

sha256sum dashcore-

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 dashcore-
cp dashcore-0.13.0/bin/dashd ~/.dashcore/
cp dashcore-0.13.0/bin/dash-cli ~/.dashcore/

Nettoyez les fichiers non nécessaires

rm dashcore-
rm -r dashcore-0.13.0/

Redémarrez Dash


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

cd ~/.dashcore/sentinel/
git checkout develop
git pull

Dash is now updated.

DIP3 Upgrade Overview

Dash is now updated, and you can continue with the procedure to upgrade your masternode to work using the DIP3 Deterministic Masternode List. The procedure involves four major steps:

  1. Generating a BLS key pair
  2. Preparing a ProRegTx transaction
  3. Signing the ProRegTx transaction
  4. Submitting the signed message

Steps 1, 2 and 4 can be carried out either on your masternode or in the Dash Core wallet. Signing the transaction in step 3 must be done using the wallet holding the private key to the 1000 Dash collateral. This documentation describes the commands as if they were entered in Dash Core by opening the console from Tools > Debug console, but the same result can be achieved on a masternode by entering the same commands and adding the prefix ~/.dashcore/dash-cli to each command.

Generate a BLS key pair

Begin by logging in to your masternode using ssh or PuTTY. A public/private BLS key pair is required for the operator of the masternode. If you are using a hosting service, they will provide you with their public key, and you can skip this step. If you are hosting your own masternode, generate a BLS public/private keypair as follows:

bls generate

"secret": "2dbc0abdd52467569e4e74db61406b32c8ce41f38e5919ab0ee5596dc4b384cf",
"public": "84d8468dd9b495443ae9d0e12e608229111edf5ea94d52deb1623716566444425a3deb4a0fa09477e5eafb8fc94a2384"

The public key will be used in following steps. The secret key must be kept secure since it is used to sign operator-related masternode messages and update operator-related masternode parameters (e.g. IP Address, Port). These keys are NOT stored by the wallet and must be backed up, similar to the value provided in the past by the ``masternode genkey`` command.

Prepare a ProRegTx transaction

First, we need to get a new, unused address from the wallet to serve as the owner (and, if desired, also voting) address:



Next, we will prepare an unsigned ProRegTx special transaction using the protx register_prepare command. This command has the following syntax:

protx register_prepare "collateralHash" collateralIndex "ipAndPort" "ownerKeyAddr"
  "operatorKeyAddr" "votingKeyAddr" operatorReward "payoutAddress"

Open a text editor such as notepad to prepare this command. Replace each argument to the command as follows:

  • "collateralHash": The txid of the 1000 Dash collateral funding transaction
  • collateralIndex: The output index of the 1000 Dash funding transaction
  • "ipAndPort": Masternode IP address and port, in the format x.x.x.x:yyyy
  • "ownerKeyAddr": The new Dash address generated above for the owner/voting address
  • "operatorKeyAddr": The BLS public key generated above (or provided by your hosting service)
  • "votingKeyAddr": A new Dash address generated above, or a different address, used for proposal voting
  • operatorReward: The percentage of the block reward allocated to the operator as payment
  • "payoutAddress": A Dash address to receive the masternode rewards (can be different to the collateral address)

Example (remove line breaks if copying):

protx register_prepare


"tx": "0300010001755fbe3bca61bd6cea97fb2f8dc6d9b448e5fff0b8f95c8eeb3f14fb2100f3b30100000000feffffff018ba62000000000001976a914c57cb841100586c2d812590e2ccac88b037a70aa88ac00000000d101000000000015e63f7300a2ec3de77ee7d4ccbf036536772f83ac8e8c9dea56f794f360b72e0100000000000000000000000000ffff8c523b334e1f93b37f469464b675a982c9fc7001f24ab2c197d686179eb4f45405f8d5fc00a4378356fc0600e104a7f3e6aec6b937a2830f1b538f2b08a7d66132158613bf18832ddd9893b37f469464b675a982c9fc7001f24ab2c197d600001976a914b9723ef9cf900c6a76fcca97a60cf94c1a35783888ac6b1d51d50c26f6600e7a713acaa892397f51a1cafa7db2f972c3a06cfe46327800",
"collateralAddress": "yhFQ5ypRyDSJkwuEAAKA3ZL3QFmUZQb1ia",
"signMessage": "ydDzieEtpeZpugXrr2Xuh6U66VB4m6ztjU|0|yZnRD5qUbBDNjaiTeNTEMefVMQ1JDARCRt|yZnRD5qUbBDNjaiTeNTEMefVMQ1JDARCRt|0fd4701b0316597809640632cc258be4de89d84006383c12f5ad2d50b69be86b"

We will use collateralAddress and signMessage fields in Step 3, and the output of the « tx » field in Step 4.

Sign the ProRegTx transaction

Now we will sign the content of the signMessage field using the private key for the collateral address as specified in collateralAddress. Note that no internet connection is required for this step, meaning that the wallet can remain disconnected from the internet in cold storage to sign the message. In this example we will again use Dash Core, but it is equally possible to use the signing function of a hardware wallet. The command takes the following syntax:

signmessage "address" "message"


signmessage "yhFQ5ypRyDSJkwuEAAKA3ZL3QFmUZQb1ia" "ydDzieEtpeZpugXrr2Xuh6U66VB4m6ztjU|0|yZnRD5qUbBDNjaiTeNTEMefVMQ1JDARCRt|yZnRD5qUbBDNjaiTeNTEMefVMQ1JDARCRt|0fd4701b0316597809640632cc258be4de89d84006383c12f5ad2d50b69be86b"



Submit the signed message

We will now create the ProRegTx special transaction on the network to start the masternode. This command must be sent from a Dash Core wallet holding a balance, since a standard transaction fee is involved. The command takes the following syntax:

protx register_submit "tx" "sig"


  • "tx": The serialized transaction previously returned in the « tx » output field from protx register_prepare in Step 2
  • "sig": The message signed with the collateral key from Step 3


protx register_submit "0300010001755fbe3bca61bd6cea97fb2f8dc6d9b448e5fff0b8f95c8eeb3f14fb2100f3b30100000000feffffff018ba62000000000001976a914c57cb841100586c2d812590e2ccac88b037a70aa88ac00000000d101000000000015e63f7300a2ec3de77ee7d4ccbf036536772f83ac8e8c9dea56f794f360b72e0100000000000000000000000000ffff8c523b334e1f93b37f469464b675a982c9fc7001f24ab2c197d686179eb4f45405f8d5fc00a4378356fc0600e104a7f3e6aec6b937a2830f1b538f2b08a7d66132158613bf18832ddd9893b37f469464b675a982c9fc7001f24ab2c197d600001976a914b9723ef9cf900c6a76fcca97a60cf94c1a35783888ac6b1d51d50c26f6600e7a713acaa892397f51a1cafa7db2f972c3a06cfe46327800" "H+K8jIXR0R8xdKSOeb0cszVcz0KNJo+JNjP4uSC3/M4lB+HwmGjQMMkPhj4wiIQaziw7JfwcLjTMvPKS5SVu69A="



Your masternode is now upgraded to DIP3 and will appear on the Deterministic Masternode List.

Updating from dashman

Versions of Dash prior to 0.13.0 frequently used a tool called dashman by community member moocowmoo to install Dash. This tool has been deprecated until it is updated. You can follow the instructions below to upgrade your system:


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É.

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.


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 :


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.


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 :


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.


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

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


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


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


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


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.


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


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


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


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


Test manuel de la mise à jour DashCentral


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

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.


É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

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, 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., 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

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.