Desarrolladores¶
Dash Core ha publicado una extensa Guía del desarrollador para ayudar a los nuevos desarrolladores a comenzar con la base de código de Dash y como una referencia para desarrolladores experimentados. Esta guía se puede aprovechar para integrar de manera rápida y eficiente las aplicaciones externas con el ecosistema de Dash. Cualquiera puede contribuir a la guía enviando un problema o solicitud de extracción en GitHub. La documentación está disponible en: https://dash-docs.github.io/en/
El equipo de Dash Core también mantiene la Hoja de ruta de Dash, que establece los hitos de entrega para futuras versiones de Dash e incluye detalles técnicos específicos que describen cómo el equipo de desarrollo planea realizar desafío. La hoja de ruta de Dash se complementa con las Propuestas de mejora para Dash, que contienen explicaciones técnicas detalladas de los cambios propuestos al protocolo Dash.
Las secciones restantes disponibles a continuación describen pasos prácticos para llevar a cabo tareas de desarrollo comunes en Dash.
Sporks¶
Una bifurcación de varias fases, coloquialmente conocida como «spork», es un mecanismo exclusivo de Dash utilizado para implementar de forma segura nuevas características en la red a través de variables de nivel de red para evitar el riesgo de bifurcación involuntaria de la red durante las actualizaciones. También se puede usar para desactivar ciertas funciones si se descubre una vulnerabilidad de seguridad - ver aquí para una breve introducción a sporks. Esta documentación describe el significado de cada spork que existe actualmente en la red y cómo verificar sus respectivos estados.
Funciones de spork¶
Las Sporks se configuran usando valores enteros. Muchas sporks se pueden configurar para un tiempo en una fecha de época particular (número de segundos que han transcurrido desde el 1 de enero de 1970) para especificar la hora a la que se activarán. Las sporks habilitadas se configuran en 0 (segundos hasta la activación). Esta función se usa a menudo para establecer una fecha de habilitación de spork en el futuro, la cual esta deshabilitada de manera efectiva hasta que se modifica. Las siguientes sporks existen actualmente en la red y cumplen las funciones que se describen a continuación:
- SPORK_2_INSTANTSEND_ENABLED
- Gobierna la capacidad de los clientes de Dash para usar la funcionalidad de InstandSend.
- SPORK_3_INSTANTSEND_BLOCK_FILTERING
- Si está habilitado, los masternodes rechazarán los bloques que contengan transacciones en conflicto con las transacciones de InstandSend bloqueadas pero no confirmadas.
- SPORK_5_INSTANTSEND_MAX_VALUE
- Aplica el valor máximo en Dash que se puede incluir en una transacción InstantSend.
- SPORK_6_NEW_SIGS
- Habilita un nuevo formato de firma para los mensajes de red específicos de Dash introducidos en Dash 12.3. Para más información, consulta aquí y aquí.
- SPORK_8_MASTERNODE_PAYMENT_ENFORCEMENT
- Si está habilitado, los mineros deben pagar el 50% de la recompensa del bloque a un masternode que esté actualmente pendiente de selección o el bloque se considerará no válido.
- SPORK_9_SUPERBLOCKS_ENABLED
- Si está habilitado, los superbloques se verifican y emiten para pagar a los ganadores de propuestas.
- SPORK_10_MASTERNODE_PAY_UPDATED_NODES
- Controla si los masternodes que ejecutan una versión de protocolo anterior se consideran elegibles para el pago. Esto puede usarse como un incentivo para alentar la actualización de los masternodes.
- SPORK_12_RECONSIDER_BLOCKS
- Forzar el reindex de un número específico de bloques para recuperarse de las bifurcaciones de red involuntarias.
- SPORK_13_OLD_SUPERBLOCK_FLAG
- Obsoleto. Sin función de red desde el bloque 614820.
- SPORK_14_REQUIRE_SENTINEL_FLAG
- Alterna si los masternodes con estado son elegibles para el pago si el estado es WATCHDOG_EXPIRED, es decir, Sentinel no se está ejecutando correctamente.
- SPORK_15_DETERMINISTIC_MNS_ENABLED
- Controla si masternodes deterministicos son requeridos. Cuando se activa, la lógica de la lista de masternode heredada ya no se ejecutará y los masternodes no actualizados no serán elegibles para el pago.
- SPORK_16_INSTANTSEND_AUTOLOCKS
- Habilita el bloqueo automático de transacciones para transacciones con menos de un número específico de entradas y elimina la comisión de InstantSend heredada. Permite a cualquier nodo solicitar el bloqueo de la transacción, no solo el nodo emisor.
- 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.
Revisar estado de spork¶
Los comandos spork show
y spork active
emitidos en la ventana de depuración (o desde dash-cli
en un masternode) te permiten interactuar con sporks. Puedes abrir la ventana de depuración seleccionando Herramientas > Depurar consola.
Historial de versiones¶
Las notas de la versión completa y el historial de versiones de Dash están disponibles aquí: