Developers

Dash Core has published an extensive Developer Guide to help new developers get started with the Dash code base, and as a reference for experienced developers. This guide can be leveraged to quickly and efficiently integrate external applications with the Dash ecosystem. Anyone can contribute to the guide by submitting an issue or pull request on GitHub. The documentation is available at: https://dash-docs.github.io/en/

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.

Οι υπόλοιπες παράγραφοι που διατίθοντια παρακάτω περιγράφουν τα πρακτικά στάδια για να πραγματοποιήσετε συνήθες έργα δημιουργίας στο Dash.

Sporks

A multi-phased fork, colloquially known as a «spork», is a mechanism unique to Dash used to safely deploy new features to the network through network-level variables to avoid the risk of unintended network forking during upgrades. It can also be used to disable certain features if a security vulnerability is discovered - see here for a brief introduction to sporks. This documentation describes the meaning of each spork currently existing on the network, and how to check their respective statuses.

Spork λειτουργίες

Τα spork καθορίζονται χρησιμοποιώντας αξίες ακεραίων αριθμών. Πολλά spork μπορεί να ορίζονται σε μία συγκεκριμένη εποχή και χρόνο (αριθμό δευτερολέπτων που έχουν περάσει από την 1η Ιανουαρίου 1970) για να ορίσουν τον χρόνο στον οποίο θα είναι ενεργά. Τα ενεργοποιημένα spork ορίζονται στο 0 (δευτερόλεπτα μέχρι την ενεργοποίησή τους). Αυτή η λειτουργία χρησιμοποιείται σηνύθως για να ορίσουμε μία ημερομηνία ένεργοποίησης spork στο μέλλον για να είναι ανενεργό μέχρι να λλάξει. Τα ακόλουθα spork υπάρχουν αυτή την στιγμή στο δίκτυο και εξυπηρετούν λειτουργίες όπως περιγράφεται παρακάτω:

SPORK_2_INSTANTSEND_ENABLED
Governs the ability of Dash clients to use InstantSend functionality.
SPORK_3_INSTANTSEND_BLOCK_FILTERING
If enabled, masternodes will reject blocks containing transactions in conflict with locked but unconfirmed InstantSend transactions.
SPORK_5_INSTANTSEND_MAX_VALUE
Επιβάλλει την ανώτατη αξία του Dash που μπορεί να χρησιμοποιηθεί σε μία συναλλαγή InsantSend.
SPORK_6_NEW_SIGS
Enables a new signature format for Dash-specific network messages introduced in Dash 12.3. For more information, see here and here.
SPORK_8_MASTERNODE_PAYMENT_ENFORCEMENT
Αν ενεργοποιηθεί, οι miners πρέπει να πληρώσουν το 50% των block reward σε ένα masternode το οποίο αυτή την στιγμή κάνει διαλογή αλλιώς το μπλόκ θα θεωρηθεί μή έγκυρο.
SPORK_9_SUPERBLOCKS_ENABLED
Αν ενεργοποιηθεί, τα superblocks είναι επαληθευμένα και ορίζονται να πληρώσουν τους νικητές των προτάσεων.
SPORK_10_MASTERNODE_PAY_UPDATED_NODES
Ελέγχει αν τα masternodes που τρέχουν ένα παλαιότερο πρωτόκολλο είναι επιλέξιμα για πληρωμή. Αυτό χρησιμοποιείται για να δώσει κίνητρο στα masternodes για να αναβαθμιστούν.
SPORK_12_RECONSIDER_BLOCKS
Επιβάλλει τον επαναπροσδιορισμό ορισμένου αριθμού μπλόκ για να ανακάμψει από μή σκόπιμα forks δικτύου.
SPORK_13_OLD_SUPERBLOCK_FLAG
Απορρίφθηκε. Δεν έχει καμία λειτουργία δικτύου από το μπλόκ 614820.
SPORK_14_REQUIRE_SENTINEL_FLAG
Εναλάσσει αν τα masternodes με status είναι επιλέξιμα για πληρωμή αν το status ειναι WATCHDOG_EXPIRED, πχ το Sentinel δεν τρέχει σωστά.
SPORK_15_DETERMINISTIC_MNS_ENABLED
Controls whether deterministic masternodes are required. When activated, the legacy masternode list logic will no longer run and non-updated masternodes will not be eligible for payment.
SPORK_16_INSTANTSEND_AUTOLOCKS
Enables automatic transaction locking for transactions with less than a specified number of inputs, and removes the legacy InstantSend fee. Allows any node to request the transaction lock, not just the sending node.
SPORK_17_QUORUM_DKG_ENABLED
Enables the DKG process to create LLMQ quorums. This spork will be turned on once 80% masternodes are upgraded to v0.14, which will enable DKG and DKG-based PoSe.
SPORK_19_CHAINLOCKS_ENABLED
Enables ChainLocks, a mechanism of preventing the risk to payments introduced by blockchain reorganization events. ChainLocks are described in DIP0008 ChainLocks.
SPORK_20_INSTANTSEND_LLMQ_BASED
When enabled, legacy InstantSend is superseded by LLMQ-based InstantSend, as described in DIP0010 LLMQ-based InstantSend.

Παρατηρεί το status των spork.

Οι εντολές spork show και spork active``που μπορούν να οριστούν στο debug window απο το ``dash-cli σε ένα masternode) σας επιτρέπεον να επικοινωνείτε με τα spork. Μπορείτε να ανοίξετε το debug window επιλέγοντας Tools > Debug console.

../_images/dashcore-sporks.png

Η παραγωγή spork show και spork active στο Dash Core debug console

Ιστορία Έκδοσης

Πλήρης σημειώσεις και η ιστορία έκδοσης του Dash είναι διαθέσιμη εδώ: