Tilt
Tilt é uma ferramenta que faz parte do ecossistema oficial do Docker, projetada para facilitar a configuração de um ambiente Kubernetes para desenvolvimento.
Nota
O Tilt é frequentemente referido como "Devnet" no ecossistema Wormhole, portanto, qualquer informação rotulada como "Devnet" também se aplica ao Tilt.
No contexto do Wormhole, "Tilt" refere-se ao ambiente de desenvolvimento utilizado pelo repositório Wormhole Core. Esse ambiente disponibiliza imagens Docker para todas as ferramentas necessárias para construir em várias blockchains, incluindo:
Todas as blockchains e ecossistemas suportados pelo Wormhole
Um nó Guardian
Relayers
Bancos de dados, Redis
Front-ends utilitários
O ambiente Tilt é projetado para fornecer uma pilha de desenvolvimento cross-chain completa logo após a instalação.
Tilt é adequado para você?
O Tilt é uma boa opção para desenvolvedores que precisam de um ambiente de desenvolvimento local e têm acesso a uma máquina que pode suportar a execução dele. Também é uma excelente opção para desenvolvedores que querem estabelecer uma suíte de testes CI.
Prós
Suporte pronto para uso para os muitos componentes necessários para desenvolver em espaços de blockchain heterogêneos
Ambiente de desenvolvimento consistente, onde os contratos são implantados de maneira determinística, com tudo já interligado
Capacidade de habilitar ou desabilitar facilmente os componentes conforme necessário
Atualizações regulares à medida que novos componentes se juntam ao ecossistema Wormhole
Instalação do Tilt
O Tilt funciona melhor em um ambiente estilo UNIX. Para rodar o ambiente Tilt, certifique-se de que você tenha o Tilt e o Go instalados.
Instruções para MacOS
Você precisará ter o homebrew instalado no seu sistema. Você pode instalá-lo com:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Instalar Go:
brew install go
Instalar Docker:
brew install docker
Após a instalação, vá nas configurações do Docker e ative o Kubernetes. Configure também o Docker para ter 4 CPUs e cerca de 16GB de RAM.
Instalar o Tilt:
brew install tilt
Instruções para Linux
Instalar Go
Você pode instalar o Go com o seguinte comando:
wget https://go.dev/dl/go1.18.1.linux-amd64.tar.gz &&
rm -r /usr/local/go && tar -C /usr/local -xzf go1.18.1.linux-amd64.tar.gz
Instalar Docker Desktop
Se você estiver usando Linux com um gerenciador de janelas, é altamente recomendado que você instale o Docker Desktop, pois ele vem com Kubernetes integrado e você não precisará baixar o Minikube. É recomendado alocar ao Docker pelo menos 4 CPUs e 16GB de RAM. Além disso, verifique se o Docker está configurado como usuário não-root. Você pode consultar essa lista de métodos de instalação do Docker.
Se você estiver usando o Docker Desktop, pode ativar o Kubernetes indo em Configurações > Kubernetes e marcando a opção para habilitar o Kubernetes.
Minikube
Como alternativa ao Docker Desktop com Kubernetes, você pode instalar o Minikube. Você pode configurar o Minikube da seguinte forma:
minikube start --driver=docker --kubernetes-version=v1.23.3 --cpus=4 --memory=14G --disk-size=10G --namespace=wormhole
Se você reiniciar sua VM, precisará rodar o comando minikube start
novamente antes de levantar o Tilt.
Instalar Tilt
Você pode instalar o Tilt com o seguinte comando:
curl -fsSL https://raw.githubusercontent.com/tilt-dev/tilt/master/scripts/install.sh | bash
Instruções Experimentais para Linux
Este é um script experimental de instalação com um único comando.
Aviso
Isso é recomendado apenas se você estiver rodando Linux sem interface gráfica e não puder usar o Docker Desktop, pois você pode habilitar o Kubernetes a partir do Docker.
Este script experimental de configuração deve instalar as dependências para você no Linux e configurar tudo corretamente. Se não funcionar como esperado, consulte as etapas de instalação padrão do Linux acima.
curl $URL | sh install_linux.sh &&
cd wormhole/ &&
./tilt.sh
Se você tiver todos os pré-requisitos instalados, clone o repositório Wormhole Core e inicie o Tilt:
git clone --branch main https://github.com/wormhole-foundation/wormhole.git &&
cd wormhole &&
tilt up
Instruções para Máquinas Virtuais
Se você estiver rodando o Tilt em uma VM, precisará passar alguns parâmetros extras para permitir que o Tilt ouça o tráfego de endereços externos:
tilt up --host=0.0.0.0 -- --webHost=0.0.0.0
Agora você pode acessar a interface do Tilt em vm_external_ip:10350
. Se o IP externo da VM não funcionar, verifique as configurações de firewall e portas para garantir que a VM permita tráfego de entrada. Certifique-se de verificar o Tiltfile
, que contém boa parte da configuração e argumentos para o ambiente de desenvolvimento. É relativamente simples habilitar e desabilitar componentes. Por exemplo, você pode habilitar blockchains definindo-os como true
na inicialização. Note o uso do separador --
entre as flags do comando Tilt e as flags que você deseja passar para configurar a instalação.
tilt up -- --algorand --solana
Usando o Tilt
O Tilt pode ser tratado como um ambiente externo ou Devnet que você pode facilmente subir e derrubar. Se você seguiu a configuração padrão, todos os seus recursos estarão vinculados a várias portas no localhost. Para ver todos os endpoints hospedados no seu ambiente Tilt, consulte o dashboard do Tilt, localizado em http://localhost:10350/overview.
Todos os endereços de contratos implantados podem ser encontrados na seção Devnet da cadeia sendo utilizada nas páginas de Ambientes. Informações úteis sobre carteiras financiadas e chaves privadas também podem ser encontradas no arquivo Devnet.md
da documentação.
Desligando o Tilt
Para desligar o Tilt, execute o comando tilt down
com as mesmas flags de rede fornecidas no comando tilt up
.
tilt down -- --solana --algorand
FAQ
Onde estão Fantom, Celo, Polygon e outras cadeias EVM?
O ambiente de desenvolvimento de contratos inteligentes é efetivamente o mesmo para todas as cadeias que suportam EVM. Para mudanças nos custos de gás e tempos de transação, considere testar a lógica dos contratos no Devnet e, em seguida, usar ambientes de Testnet para obter respostas específicas da cadeia.
O Solana está demorando demais?
Devido à arquitetura do Solana, a construção do pod Solana geralmente leva de 25 a 40 minutos. Considere aumentar o número de núcleos de CPU atribuídos ao Devnet para uma construção mais rápida.
O Deploy do Programa Solana não está funcionando?
O Kubernetes atualmente não permite encaminhamento de porta para portas UDP (Issue no GitHub), o que é usado para o comando solana program deploy
. Em vez disso, é recomendado usar o Solana Deployer. Isso não apenas realiza a implantação dos programas via RPC comum (eliminando a necessidade de portas UDP), mas também é muito mais rápido do que o solana program deploy
.
Como posso redefinir o estado de um Pod?
Se você quiser iterar rapidamente e não deseja trazer o Tilt para baixo e subir novamente, pode redefinir o estado de um pod clicando no botão de atualização ao lado do nome do pod na interface do Tilt.
Contratos e Contas
O ambiente Devnet implanta a camada principal e o Token Bridge para cada cadeia nos mesmos endereços todas as vezes. Ele também fornece fundos para carteiras específicas.
Portas Padrão
Guardian REST
7071
Porta gRPC do Guardian
7070
RPC do Eth0
8545
RPC do Eth1
8546
RPC do Solana
8899
Last updated