🇧🇷 Relatório de Desenvolvimento Semanal 26/06/2020

(Relatório de Desenvolvimento Semanal do dia 26/06/2020, traduzido por Joselmo Cabral)

DAEDALUS

CARTEIRA

Nesta semana, a equipe continuou trabalhando no próximo lançamento do Daedalus para a Shelley Testnet, que incluirá recursos de delegação e a capacidade de verificar seu saldo de recompensas nas carteiras da ITN. A equipe também implementou um novo recurso de medidor de força de senha e muitas outras melhorias menores na interface / UX.

ADRESTIA

Nesta semana, a equipe revisou a imagem do Docker para torná-la mínima e independente, usando binários estáticos produzidos pela CI. A introdução de parâmetros de controle dinâmico levou a equipe a realizar algumas tarefas de limpeza e limpeza do banco de dados. A equipe revisou as especificações da API relacionadas à listagem de stake pools. A equipe considerou manter uma API idêntica entre o ITN e o HTN, mas há diferenças significativas entre o Jörmungandr e o cardano-node em relação aos stake pools; portanto, a API teve que ser alterada. Um ponto final (listando conjuntos de stake pools) precisava ser alterado. Veja este URL para mais informações.

As principais mudanças são:

  1. Os stake pools não retornam mais uma métrica de desempenho aparente.
  2. Os stake pools não são mais ordenados por conveniência. Em vez disso, eles são ordenados por non_myopic_member_rewards.
  3. Devido à alteração nº 2, o terminal agora exige que uma quantia explícita de stake seja passada como um parâmetro de consulta para indicar o stake pretendido a ser delegada.
  4. Os metadados não contêm mais um endereço de garantia, mas agora contêm uma garantia explícita no lovelace.

A equipe descobriu que o saldo da conta “Get” recompensa da solicitação do protocolo de consulta de estado local estava causando problemas. A solicitação é relativamente lenta no final do nó e tende a falhar ao alternar de uma época para outra. Agora, a equipe está trabalhando na instalação de algum cache para obter um comportamento mais consistente.

A equipe também continuou trabalhando na depuração do cluster de teste de integração. Registradores extras foram instalados para identificar problemas quando eles ocorrem. Os stake pools foram reativados no cluster de integração, o que era necessário para observar coisas específicas, como o aumento de recompensas.

A equipe corrigiu uma supervisão no terminal que retorna os parâmetros do protocolo. O terminal estava retornando parâmetros apenas do genesis, em vez de atualizá-los regularmente usando o protocolo de consulta de estado local.

A equipe monitorou a cadeia para descobrir, analisar e extrair registros de stake pools e os vários detalhes contidos nos certificados de registro.

Também foi realizado um trabalho para finalizar a listagem de stake pools usando o protocolo de consulta de estado local. Agora, os pools podem ser listados e ordenados com base em um determinado valor do stake indentado. Alguns problemas pendentes permanecem: a conexão de metadados, agrupa dados da consulta de estado local e agrupa dados descobertos da cadeia (custo, margem, etc.)

Por fim, a equipe trabalhou em um recurso para buscar automaticamente e de forma assíncrona os metadados associados aos stake pools de servidores remotos. Essa é uma solução provisória até que o SMASH (servidor de agregação de metadados) dos conjuntos de stake pools possa descobrir e servir os próprios metadados. A busca é feita individualmente, com um tempo limite rigoroso e um cliente defensivo para impedir que os maus atores neguem a cardano-wallet. A equipe também permitiu o envio de transações Shelley e Byron já assinadas e serializadas por meio de cardano-wallet.

REDES

A equipe atualizou os limites máximos da fila de entrada, pois eram muito baixos para a rede de testes Shelley. Eles também implementaram tempos limite aleatórios de sincronização em cadeia para evitar a falha simultânea de pontos de desconexão entre si se um bloco não fosse produzido por tempo suficiente.

A equipe também está progredindo na habilitação de medições de ΔQ e tem uma integração precoce com a lógica de busca de blocos. Isso fará com que o bloco busque decisões de quem baixar um bloco robusto. A busca de bloco poderá se ajustar às mudanças nas condições da rede.

Além disso, a equipe concluiu as atualizações necessárias para reiniciar os mini-protocolos e a integra à nossa nova implementação de servidor (com base em um gerenciador de conexões). Também escrevemos testes de gerenciador de conexões: usando o QuickCheck e nossa simulação monad io-sim, bem como testes que executam conexões TCP uni e bidirecionais.

Por fim, a equipe realizou outra sessão de revisão da nossa documentação de design de rede.

DEVOPS

Esta semana, a equipe migrou o shelley_testnet da versão 1.14.0 para a 1.14.1 e testou o processo MIR para registrar as recompensas ITN no shelley_testnet. É importante destacar que a equipe conseguiu restaurar as recompensas de todos da ITN no shelley_testnet, o que representa um grande marco. A equipe gostaria de agradecer a todos os envolvidos no trabalho com jormungandr, cardano-node e cardano-wallet por tornar isso possível e tão simples para a implementação do DEVOPS.

A equipe implantou a versão 0.9 do ITN e enviou um plano para a comunidade votar se deveria ou não estender as recompensas do ITN. Além disso, a equipe trabalhou na integração de um cluster de teste local para épocas rápidas (minutos), utilizáveis para testes rápidos da integração do Daedalus.

Por fim, a equipe disponibilizou uma ferramenta db-sync para extrair relés e gerar um público para pology.json no explorer aqui. A equipe recomenda escolher um ou dois da lista, em vez de usá-los todos no mesmo relé.

DESCENTRALIZAÇÃO DE CARDANO

Nesta semana, a equipe concluiu os cálculos históricos de desempenho do conjunto de stake pools, tanto para recompensas não míopes quanto para classificações de stake pools. Uma aproximação de uma distribuição de probabilidade (um histograma) agora é armazenada no estado da cadeia, para que as amostras possam ser obtidas. Atualizaremos a especificação formal com esses detalhes em breve.

A equipe também trabalhou duro para implementar uma quantidade considerável de testes de referência e os usou para corrigir vários problemas de desempenho.

Além disso, eles trabalharam no suporte ao endereço Byron no ledger e, finalmente, concluíram a implementação do VRF, que agora oferece algumas melhorias no desempenho da rede de teste.

GOGUEN

Nesta semana, a equipe Plutus trabalhou para fornecer a capacidade de criar intervalos de slots dinâmicos para usuários que estão escrevendo contratos inteligentes. Esses intervalos de slots podem controlar quais contratos são executados, por exemplo, um usuário pode criar um campo “Tempo de vida” para um contrato, para que seja executado se algo não acontecer nos últimos 10 slots da hora atual.

A equipe também aplicou uma correção para possíveis erros de tempo de execução quando o pacote cumulativo de blockchain não consegue encontrar uma referência. Por fim, a equipe adicionou ‘Examples.Data.Vec’ no Plutus Core para mostrar como os vetores codificados por Church e Scott são representados.

A equipe da Marlowe adicionou uma primeira versão de uma nova guia de simulação de carteira ao Marlowe Playground. Essa guia permite que os usuários vejam quais recursos uma carteira precisa para que ele possa executar contratos da Marlowe e como um contrato se comporta entre várias carteiras.