Développeurs

The Dash Platform Developer Documentation <https://dashplatform.readme.io/> contains technical documentation intended to help developers quickly and easily get started with Dash Platform. The Dash Core Developer Documentation <https://dashcore.readme.io/> provides detailed documentation on the Dash Core code base, and serves as a reference for experienced developers. These documentation portals can help developers to quickly and efficiently integrate external applications with the Dash ecosystem. Anyone can contribute to the documentation by suggesting edits in the documentation system.

The Dash Core Team also maintains the Dash Roadmap, which sets out delivery milestones for future releases of Dash and includes specific technical details describing how the development team plans to realise each challenge. The Dash Roadmap is complemented by the Dash Improvement Proposals, which contain detailed technical explanations of proposed changes to the Dash protocol itself.

The Dash community organise discussion and development of Dash apps using the following resources:

Les sections restantes, disponibles ci-dessous, décrivent en pratique les étapes nécessaires pour accomplir les tâches communes de développement de Dash.

Sporks

Un fork à plusieurs étapes, connu informellement sous le nom de « spork », est un mécanisme unique à Dash qui est utilisé pour déployer de manière sûre des nouvelles fonctionnalités du réseau, à travers des variables au niveau du réseau, permettant ainsi d’éviter le risque de forks non souhaités du réseau pendant les mises à jour. Il peut aussi être utilisé pour désactiver certaines fonctionnalités si une faille de sécurité est découverte — voir ici une brève introduction aux sporks. La présente documentation explique le sens de chaque spork actuellement existant sur le réseau, et comment vérifier leur état respectif.

Fonctionnalités de spork

Les sporks sont configurés avec des valeurs entières. Beaucoup de sporks peuvent être configurés pour une époque « datetime » donnée (nombre de secondes écoulées depuis le 1er janvier 1970) afin d’indiquer la date et l’heure auxquelles ils deviendront actifs. Les sporks activés sont configurés sur 0 (secondes avant l’activation). Cette fonction est souvent utilisée pour configurer l’activation d’un spork si loin dans le futur qu’il est, en pratique, désactivé jusqu’à nouvel ordre. Les sporks suivants sont actuellement actifs sur le réseau et permettent les fonctions décrites ci-dessous :

SPORK_2_INSTANTSEND_ENABLED
Contrôle la capacité des clients Dash à utiliser la fonctionnalité InstantSend.
SPORK_3_INSTANTSEND_BLOCK_FILTERING
Lorsqu’il est activé, les masternodes rejettent les blocs contenant des transactions en conflit avec des transactions InstantSend verrouillées mais non confirmées.
SPORK_6_NEW_SIGS
Active un nouveau format de signature pour des messages réseau spécifiques à Dash apparus dans Dash 12.3. Pour en savoir plus, voir ici et ici.
SPORK_9_SUPERBLOCKS_ENABLED
Lorsqu’il est activé, les « superblocs » sont vérifiés puis générés pour payer les propositions budgétaires gagnantes.
SPORK_15_DETERMINISTIC_MNS_ENABLED
Vérifie si les masternodes déterministes sont requis. Si ce spork est activé, l’ancienne logique de liste des masternodes ne fonctionnera plus, et les masternodes non mis à jour ne seront plus éligibles aux paiements.
SPORK_16_INSTANTSEND_AUTOLOCKS
Active le verrouillage automatique des transactions ayant moins qu’un certain nombre d’entrées, et supprime les frais InstantSend précédemment en vigueur. Permet à tout nœud de demander le verrouillage de transaction, pas seulement au nœud expéditeur.
SPORK_17_QUORUM_DKG_ENABLED
Active la procédure DKG pour créer les quorums LLMQ. Ce spork sera activé lorsque 80% des masternodes auront effectué la mise à jour 0.14, ce qui activera la preuve de service (PoSe) DKG et basée sur DKG.
SPORK_19_CHAINLOCKS_ENABLED
Active ChainLocks, un mécanisme d’élimination des risques de paiement que constituent les réorganisations de blockchain. ChainLocks sont décrits dans la DIP0008 ChainLocks.
SPORK_20_INSTANTSEND_LLMQ_BASED
À son activation, les paiements InstantSend traditionnels seront remplacés par InstantSend basé sur LLMQ, tel que décrit dans la DIP0010 InstantSend basé sur LLMQ.

Affichage de l’état de spork

Les commandes spork show et spork active sont saisies dans la fenêtre de débogage (ou en utilisant « dash-cli » sur un masternode) et vous permettent d’interagir avec les sporks. On peut ouvrir la fenêtre de débogage dans Dash Core par le menu Outils > Console de débogage.

../_images/dashcore-sporks.png

affichage de spork et sortie active de spork dans la console de débogage du portefeuille logiciel Dash Core

Historique des versions

Les notes de publication complètes et l’historique des versions de Dash sont disponibles ici :