Tilt
Last updated
Last updated
é uma ferramenta que faz parte do ecossistema oficial do Docker, projetada para facilitar a configuração de um ambiente Kubernetes para desenvolvimento.
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 . 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.
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
Instruções para MacOS
Você precisará ter o homebrew instalado no seu sistema. Você pode instalá-lo com:
Instalar Go:
Instalar Docker:
Instalar o Tilt:
Instruções para Linux
Instalar Go
Você pode instalar o Go com o seguinte comando:
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
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:
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.
Se você tiver todos os pré-requisitos instalados, clone o repositório Wormhole Core e inicie o Tilt:
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:
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.
Para desligar o Tilt, execute o comando tilt down
com as mesmas flags de rede fornecidas no comando tilt up
.
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?
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.
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.
Guardian REST
7071
Porta gRPC do Guardian
7070
RPC do Eth0
8545
RPC do Eth1
8546
RPC do Solana
8899
O Tilt funciona melhor em um ambiente estilo UNIX. Para rodar o ambiente Tilt, certifique-se de que você tenha o Tilt e o instalados.
Após a instalação, vá nas configurações do Docker e ative o Kubernetes.
Como alternativa ao Docker Desktop com Kubernetes, você pode instalar o . Você pode configurar o Minikube da seguinte forma:
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 acima.
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 .
Todos os endereços de contratos implantados podem ser encontrados na seção Devnet da cadeia sendo utilizada nas páginas de Informações úteis sobre carteiras financiadas e chaves privadas também podem ser encontradas no arquivo Devnet.md
da documentação.
O Kubernetes atualmente não permite encaminhamento de porta para portas UDP (I), o que é usado para o comando solana program deploy
. Em vez disso, é recomendado usar o . 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
.