Desenvolvedores¶
O Dash Core publicou um extenso Guia do desenvolvedor para ajudar os novos desenvolvedores a começarem com a base de códigos do Dash e como uma referência para desenvolvedores experientes. Este guia pode ser aproveitado para integrar de forma rápida e eficiente aplicativos externos ao ecossistema Dash. Qualquer pessoa pode contribuir com o guia enviando um problema ou solicitando solicitação no GitHub. A documentação está disponível em: https://dash-docs.github.io/en/
A Equipe Core do Dash também mantém o Roadmap do Dash, que define marcos de entrega para versões futuras do Dash e inclui detalhes técnicos específicos que descrevem como a equipe de desenvolvimento planeja realizar cada desafio. O Roteiro do Dash é complementado pelo Dash propostas de melhoria, que contêm explicações técnicas detalhadas das alterações propostas para o protocolo Dash.
As seções restantes disponíveis abaixo descrevem as etapas práticas para executar tarefas comuns de desenvolvimento no Dash.
Sporks¶
Um fork multifásico, popularmente conhecido como «spork», é um mecanismo exclusivo do Dash usado para implantar com segurança novos recursos na rede por meio de variáveis de nível de rede para evitar o risco de bifurcação indesejada de rede durante as atualizações. Também pode ser usado para desabilitar determinados recursos se uma vulnerabilidade de segurança for descoberta - veja aqui para uma breve introdução aos sporks. Esta documentação descreve o significado de cada spork existente atualmente na rede e como verificar seus respectivos status.
Spork funções¶
Sporks são definidos usando valores inteiros. Muitos sporks podem ser definidos para uma data específica (número de segundos decorridos desde 1º de janeiro de 1970) para especificar a hora em que eles serão ativados. Os sporks ativados estão definidos como 0 (segundos até a ativação). Esta função é freqüentemente usada para definir uma data de ativação do spork até o futuro no futuro, que é efetivamente desativada até ser alterada. Os seguintes sporks existem atualmente na rede e servem funções conforme descrito abaixo:
- SPORK_2_INSTANTSEND_ENABLED
- Governa a capacidade dos clientes do Dash de usar a funcionalidade InstantSend.
- SPORK_3_INSTANTSEND_BLOCK_FILTERING
- Se ativado, os masternodes rejeitarão os blocos que contêm transações em conflito com transações InstantSend bloqueadas mas não confirmadas.
- SPORK_5_INSTANTSEND_MAX_VALUE
- Aplica o valor máximo no Dash que pode ser incluído em uma transação do InstantSend.
- SPORK_6_NEW_SIGS
- Ativa um novo formato de assinatura para mensagens de rede específicas do Dash, introduzidas no Dash 12.3. Para mais informações, veja aqui e aqui.
- SPORK_8_MASTERNODE_PAYMENT_ENFORCEMENT
- Se habilitado, os mineiros devem pagar 50% da recompensa em bloco para um masternode atualmente pendente de seleção ou o bloqueio será considerado inválido.
- SPORK_9_SUPERBLOCKS_ENABLED
- Se ativado, os superblocos são verificados e emitidos para pagar os vencedores das propostas.
- SPORK_10_MASTERNODE_PAY_UPDATED_NODES
- Controla se os masternodes que executam uma versão de protocolo mais antiga são considerados elegíveis para pagamento. Isso pode ser usado como um incentivo para incentivar os masternodes a serem atualizados.
- SPORK_12_RECONSIDER_BLOCKS
- Força a reindexação de um número especificado de blocos para se recuperar de garfos de rede não intencionais.
- SPORK_13_OLD_SUPERBLOCK_FLAG
- Descontinuada. Nenhuma função de rede desde o bloco 614820.
- SPORK_14_REQUIRE_SENTINEL_FLAG
- Alterna se os masternodes com status são elegíveis para pagamento se o status for WATCHDOG_EXPIRED, i.e. O Sentinel não está funcionando corretamente.
- SPORK_15_DETERMINISTIC_MNS_ENABLED
- Controla se deterministic masternodes é requerido. Quando ativada, a lógica da lista de masternodes herdada não será mais executada e os masternodes não atualizados não estarão qualificados para pagamento.
- SPORK_16_INSTANTSEND_AUTOLOCKS
- Permite o bloqueio automático de transações para transações com menos de um número especificado de entradas e remove a taxa do InstantSend herdado. Permite que qualquer nó solicite o bloqueio de transação, não apenas o nó de envio.
- 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.
Visualizar o status do spork¶
Os comandos spork show
e spork active
emitidos na janela de depuração (ou a partir de dash-cli
em um masternode) permitem que você interaja com sporks. Você pode abrir a janela de depuração selecionando Ferramentas > Console de depuração.
Histórico de versões¶
Notas de lançamento completas e o histórico de versões do Dash estão disponíveis aqui: