Разработчикам¶
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/
Команда Dash Core также поддерживает Дорожную карту Dash, которая устанавливает основные этапы выполнения промежуточных задач для будущих выпусков Dash и включает конкретные технические детали, описывающие, как команда разработчиков планирует реализовывать каждую задачу. Дорожная карта Dash дополнена Предложениями по улучшению Dash, в которых содержатся подробные технические пояснения предлагаемых изменений к самому протоколу Dash.
В оставшихся разделах, приведённых ниже, описаны практические шаги для выполнения общих задач разработки в Dash.
Спорки¶
Многоэтапное разветвление, известное как “spork”, является уникальным механизмом для Dash, используемым для безопасного развёртывания новых функций в сети с помощью переменных сетевого уровня с целью избежания рисков непреднамеренного разворачивания сети во время обновлений. Спорк также может использоваться для отключения определённых функций, если обнаружена уязвимость безопасности - см. руководство здесь по краткому введению в спорки. В этой документации описывается значение каждого существующего в сети спорка, и то, как проверить их соответствующие статусы.
Функции спорков¶
Спорки устанавливаются с использованием целочисленных значений. Многие спорки могут быть установлены на определённую опорную метку времени (количество секунд, прошедших с 1 января 1970 года) для указания времени, в которое они будут активны. Метки времени активированных спорков устанавливаются на 0 (секунды до активации). Эта функция часто используется для установки даты активации спорка в отдалённом будущем, если он установлен в отключенный режим до изменения. В настоящее время в сети существуют следующие спорки и они выполняют функции, описанные ниже:
- SPORK_2_INSTANTSEND_ENABLED
- Управляет возможностью клиентов Dash использовать опцию InstandSend.
- SPORK_3_INSTANTSEND_BLOCK_FILTERING
- Если активирован, Мастерноды будут отклонять блоки, содержащие транзакции, конфликтующие с заблокированными, но неподтверждёнными транзакциями InstandSend.
- SPORK_5_INSTANTSEND_MAX_VALUE
- Контролирует соблюдение максимального значения в Dash, которое может быть включено в транзакцию InstantSend.
- SPORK_6_NEW_SIGS
- Обеспечивает новый формат подписи для специальных сетевых сообщений Dash, введённых в версии Dash 12.3. Дополнительную информацию см. здесь и здесь.
- SPORK_8_MASTERNODE_PAYMENT_ENFORCEMENT
- Если активирован, майнеры должны заплатить 50% от вознаграждения за блок текущей Мастерноде, которая находится в режиме ожидания выбора или же блок будет считаться недействительным.
- SPORK_9_SUPERBLOCKS_ENABLED
- Если активирован, суперблоки проверяются и выдаются для оплаты победивших предложений.
- SPORK_10_MASTERNODE_PAY_UPDATED_NODES
- Контролирует, считаются ли Мастерноды, запущенные на более старой версии протокола подходящими для оплаты. Может использоваться для стимулирования обновления Мастернод.
- SPORK_12_RECONSIDER_BLOCKS
- Принудительно запускает изменение указанного количества блоков для восстановления из-за непреднамеренных сетевых разветвлений.
- SPORK_13_OLD_SUPERBLOCK_FLAG
- Устаревший. Начиная с блока 614820 данная функция отсутствует в сети.
- SPORK_14_REQUIRE_SENTINEL_FLAG
- Переключает способность Мастернод со статусом иметь право на совершение платежа, если их статус WATCHDOG_EXPIRED, то есть Хранитель работает неправильно.
- 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 show” и “spork active”, запущенные в окне отладки (или из окна “dash-cli” в Мастерноде) позволяют взаимодействовать со спорками. Окно отладки можно открыть, выбрав Tools > Debug console.
История версий¶
Полная информация о выпуске и история версий Dash доступны по ссылке: