Entwickler¶
Dash Core hat einen ausführlichen Entwicklerleitfaden veröffentlicht, durch den neuen Entwicklern der Einstieg in die Dash-Codebasis vereinfacht werden soll. Dieser Leitfaden kann dazu verwendet werden, externe Applikationen schnell und effizient in das Dash-Ökosystem zu integrieren. Jeder kann zu dem Leitfaden beitragen, indem er auf GitHub ein Issue oder eine Pull Request erstellt. Die Dokumentation kann unter https://dash-docs.github.io/en/ abgerufen werden.
Das Dash Core Team pflegt zudem die Dash Roadmap, welche Meilensteine für zukünftige Veröffentlichungen und technisch-spezifische Details zu den Plänen des Entwicklerteams, diese zu erreichen, beinhaltet. Die Dash Roadmap wird durch die Dash Improvement Proposals abgerundet, welche technische Erklärungen zu Änderungen des Dash-Protokolls bieten.
Die verbleibenden Sektionen, die weiter unten gefunden werden können, beschreiben den praktischen Hintergrund, der zum Ausführen allgemeiner Entwicklungsaufgaben in Dash notwendig ist.
Sporks¶
Eine mehrstufige Fork, die auch als „Spork“ bezeichnet wird, ist ein einzigartiger Mechanismus, den Dash dazu verwendet, neue Funktionen in das Netzwerk zu integrieren, ohne unbeabsichtigte Forks durch die Upgrades zu erzeugen. Die Funktion kann außerdem dazu verwendet werden Funktionen wieder zu deaktivieren, falls ein bisher unbekannter Fehler gefunden wurde - hier befindet sich eine Einführung zum Thema Sporks. Diese Dokumentation beschreibt die Bedeutung jedes Sporks, der momentan vom Netzwerk verwendet wird, und zeigt dessen aktuellen Status auf.
Spork-Funktionen¶
Sporks werden über Integer-Variablen eingesetzt. Viele Sporks verwenden eine konkrete Unixzeit (die Zahl der Sekunden, die seit dem 01. Januar 1970 verstrichen sind), um den Startzeitpunkt genau zu definieren. Aktivierte Sporks werden auf 0 gesetzt (Zeit bis zur Aktivierung). Diese Funktion wird oft dazu verwendet einen Zeitpunkt sehr weit in die Zukunft zu verlegen, damit der Spork dadurch deaktiviert wird. Die folgenden Sporks existieren momentan im Netzwerk und führen die beschriebenen Funktionen aus:
- SPORK_2_INSTANTSEND_ENABLED
- Verwaltet die Möglichkeit die Funktion InstantSend zu verwenden.
- SPORK_3_INSTANTSEND_BLOCK_FILTERING
- Wenn aktiviert, lehnen Masternodes Blöcke ab, deren Transaktionen im Widerspruch zu festgesetzten, aber unbestätigten, InstantSend-Transaktionen stehen.
- SPORK_5_INSTANTSEND_MAX_VALUE
- Legt die Höchstzahl an Dash fest, die in eine InstantSend-Transaktion integriert werden können.
- SPORK_6_NEW_SIGS
- Aktiviert das neue Signaturformat für Dash-spezifische Netzwerksnachrichten, die in Dash 12.3 eingeführt wurden. Weitere Informationen befinden sich hier und hier.
- SPORK_8_MASTERNODE_PAYMENT_ENFORCEMENT
- Wenn aktiviert, muss der Miner 50% der Block-Rewards an die entsprechende Masternode zahlen, damit der Block nicht als ungültig angesehen wird.
- SPORK_9_SUPERBLOCKS_ENABLED
- Wenn aktiviert, werden Superblocks verifiziert und zahlen die festgesetzten Beträge an die Proposal-Gewinner aus.
- SPORK_10_MASTERNODE_PAY_UPDATED_NODES
- Kontrolliert, ob Masternodes eine ältere Protokollversion verwenden und daher keine Auszahlung empfangen dürfen. Hierdurch werden Masternodes dazu angehalten, die Software zu aktualisieren.
- SPORK_12_RECONSIDER_BLOCKS
- Erzwingt die Re-Indexierung einer bestimmten Anzahl von Blöcken, um eine ungewollte Netzwerks-Fork rückgängig zu machen.
- SPORK_13_OLD_SUPERBLOCK_FLAG
- Überholt. Keine Netzwerks-Funktion seit Block 614820.
- SPORK_14_REQUIRE_SENTINEL_FLAG
- Bestimmt, ob Masternodes zahlungsberechtigt sind, wenn der Status WATCHDOG_EXPIRED angezeigt wird. Dieser bedeutet, dass Sentinel nicht korrekt läuft.
- SPORK_15_DETERMINISTIC_MNS_ENABLED
- Kontrolliert, ob deterministische Masternodes notwendig sind. Wenn aktiviert, wird der bisherige Masternode-Listenaufbau nicht mehr berücksichtig und nicht-aktualisierte Masternodes werden nicht mehr als zahlungsberechtigt eingestuft.
- SPORK_16_INSTANTSEND_AUTOLOCKS
- Aktiviert das automatische Festsetzen von Transaktionen mit weniger als einer bestimmten Anzahl von Inputs und entfernt die bisherige InstantSend-Gebühr. Erlaubt jeder Node und nicht mehr nur der sendenden Node das Erfragen der Transaktionsfestsetzung.
- SPORK_17_QUORUM_DKG_ENABLED
- Enables the DKG process to create LLMQ quorums. At the moment, this only activates a dummy DKG on testnet, which will later be replaced by the real DKG for mainnet and testnet. When enabled, simple PoSe scoring and banning is also active.
Spork-Status anzeigen¶
Die Befehle spork show
und spork active
werden in der Debugkonsole (oder``dash-cli`` bei einer Masternode) eingegeben, um mit den Sporks zu interagieren. Die Debugkonsole kann über Werkzeuge > Debugkonsole geöffnet werden.
Versionsgeschichte¶
Vollständige Release Notes und die Dash-Versionsgeschichte sind zu finden unter: