🌌
Wormhole Docs Brasil
  • Bem-vindo!
  • Materiais
    • Build
      • Começer a Buildar
        • Redes Suportadas
        • Testnet Faucets
        • Demos
      • Construindo Aplicações Frontend
        • Wormhole SDK
          • Wormhole TypeScript SDK
          • Data Layouts
          • Construção de Protocolos e Payloads
        • Queries
          • Overview
          • Usando Queries
          • F.A.Q.
        • Conexão
          • Overview
          • Routes
          • Features
          • Configuração
          • v1 Migration
          • F.A.Q.
      • Construindo Integrações de contratos
        • Wormhole Relayer
        • Core Contracts
        • CCTP
        • Transferências de Tokens Nativos
          • Processos de Deployment
        • Comandos NTT CLI
        • Configuração de NTT
          • Limitação de Taxas
          • Controle de Acesso
        • Managers e Transceivers
        • F.A.Q. Wormhole NTT
      • MultiGov
        • Deployment
        • Upgrades Contracts
        • F.A.Q. Tecnicas
      • Ambiente de Desenvolvimento
      • F.A.Q sobre Integrações de Contratos
      • Toolkit
        • Wormholescan
        • Wormhole CLI
        • Wormhole SDK
          • TypeScript SDK
          • Data Layouts
          • Construindo Protocolos e Payloads
        • Solidity SDK
        • Tilt
        • Toolkit F.A.Q.
      • Referências
    • Infraestrutura
      • Run a Relayer
      • Run a Spy
    • Tutoriais
      • Tutorial de Conexão
      • Tutorial de Contratos Cross-Chain
        • Criação de Contratos de Mensagens Cross-Chain
        • Criação de contratos de transferência de tokens Cross-Chain
      • Tutoriais de Transferências de Tokens Nativos (NTT - Native Token Transfers)
        • Crie Tokens Multichain
      • Tutorial MultiGov
        • Proposta Cross-Chain treasury management
      • Tutoriais do Wormhole SDK
        • Transferir USDC via CCTP
        • Transferir Tokens via a Token Bridge
    • Learn
      • Fundamentos
        • Introdução
        • Segurança
        • Overview de Arquitetura
        • Glossário
      • Componentes de Infraestrutura
        • Core Contracts
        • VAAs (Verified Action Approvals)
        • Guardians
        • Spy
        • Relayers
      • Messaging
        • Token Bridge
        • Circle's CCTP Bridge
        • Transferencias de Token Nativos
          • Overview
          • Arquitetura
          • Modelos de Deploy
          • Security
      • Multigov
        • MultiGov: Governança Cross-Chain com Wormhole
        • MultiGov Architecture
        • FAQs
    • Links úteis
Powered by GitBook
On this page
  1. Materiais
  2. Build
  3. MultiGov

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:

git clone [URL do Repositório MultiGov]
cd evm # para testes/implantação em EVM

Configuração de Desenvolvimento

Para desenvolvedores que desejam configurar um ambiente local para o MultiGov:

  1. Instale as dependências:

forge install
  1. Configure as variáveis de ambiente:

cp .env.example .env

Edite o arquivo .env com sua configuração específica.

  1. Compile os contratos:

forge build
  1. Implante os contratos (exemplo para a testnet Sepolia):

  • Para hubs:

forge script script/DeployHubContractsSepolia.s.sol --rpc-url $SEPOLIA_RPC_URL --broadcast
  • Para spoke chains (exemplo: Optimism Sepolia):

forge script script/DeploySpokeContractsOptimismSepolia.s.sol --rpc-url $OPTIMISM_SEPOLIA_RPC_URL --broadcast

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.

PreviousMultiGovNextUpgrades Contracts

Last updated 5 months ago