Deployment
Este guia fornece instruções para configurar e implantar o sistema de governança MultiGov localmente. Antes de entrar no processo técnico de implantação, certifique-se de que o MultiGov seja a solução ideal para as necessidades de governança do seu projeto, seguindo os passos do processo de integração.
Uma vez que seu projeto seja aprovado no processo de integração e você tenha colaborado com a equipe da Tally para personalizar o MultiGov de acordo com seus requisitos, use este guia para configurar, compilar e implantar os contratos inteligentes necessários nas redes blockchain desejadas. Esta implantação permitirá a governança descentralizada nas suas redes de hubs e spoke.
Pré-requisitos
Para interagir com o MultiGov, você precisará do seguinte:
Instalar o Foundry
Instalar o Git
Clonar o repositório:
Configuração de Desenvolvimento
Para desenvolvedores que desejam configurar um ambiente local para o MultiGov:
Instale as dependências:
Configure as variáveis de ambiente:
Edite o arquivo .env
com sua configuração especÃfica.
Compile os contratos:
Implante os contratos (exemplo para a testnet Sepolia):
Para hubs:
Para spoke chains (exemplo: Optimism Sepolia):
Configuração
Ao implantar o MultiGov, vários parâmetros-chave precisam ser configurados. Aqui estão os pontos de configuração mais importantes:
Parâmetros-chave do Governador do Hub
initialVotingDelay uint256: o atraso, medido em segundos, antes que a votação sobre uma proposta comece. Por exemplo, 86400 é um dia.
initialProposalThreshold uint256: o número de tokens necessários para criar uma proposta.
initialQuorum uint256: o número mÃnimo de votos necessários para uma proposta ser bem-sucedida.
initialVoteWeightWindow uint256: uma janela onde o peso mÃnimo de voto é registrado para um endereço dado. A janela termina no inÃcio da votação de uma proposta e começa no inÃcio da votação menos a janela de peso de voto. A janela de votação é medida em segundos, por exemplo, 86400 é um dia.
Nota: Isso ajuda a mitigar votos duplos entre cadeias.
Parâmetros-chave do Extensor de Proposta do Hub
extensionDuration uint256: a quantidade de tempo, em segundos, que as propostas-alvo serão estendidas. Por exemplo, 10800 é três horas.
minimumExtensionDuration uint256: o limite inferior, em segundos, para a duração da extensão. Por exemplo, 3600 é uma hora.
Parâmetros-chave do Agregador de Votos do Spoke
initialVoteWindow uint256: a janela em movimento, em segundos, para pontos de verificação do peso de voto. Esses pontos são registrados sempre que um endereço que está delegando envia ou recebe tokens. Por exemplo, 86400 é um dia.
Nota: Isso é crucial para mitigar votos duplos entre cadeias.
Parâmetros-chave do Agregador de Votos do Spoke EVM do Hub
maxQueryTimestampOffset uint256: a diferença máxima de timestamp, em segundos, entre o tempo de destino solicitado na consulta e o tempo de bloco atual no hub. Por exemplo, 1800 são 30 minutos.
Parâmetros de Governança Atualizáveis
Os seguintes parâmetros-chave podem ser atualizados por meio de propostas de governança:
votingDelay: atraso antes do inÃcio da votação (em segundos)
votingPeriod: duração do perÃodo de votação (em segundos)
proposalThreshold: limite para criação de propostas (em tokens)
quorum: número de votos necessários para quorum
extensionDuration: a quantidade de tempo para a qual as propostas-alvo serão estendidas (em segundos)
voteWeightWindow: janela para pontos de verificação de peso de voto (em segundos)
maxQueryTimestampOffset: diferença máxima de timestamp permitida entre o tempo de destino de uma consulta e o tempo de bloco do hub
Esses parâmetros podem ser consultados usando suas respectivas funções getter no contrato aplicável.
Para atualizar esses parâmetros, uma proposta de governança deve ser criada, votada e executada através do processo padrão do MultiGov.
Last updated