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.

../_images/dashcore-sporks.png

Ausgabe von spork show und spork active in der Dash Core Debugkonsole

Versionsgeschichte

Vollständige Release Notes und die Dash-Versionsgeschichte sind zu finden unter: