Preparando o Sistema Operacional
Conforme descrito na seção anterior, existem muitos provedores de VPS e nuvem diferentes. Escrever guias para todos eles seria um tanto impraticável, mas nesta seção vamos cobrir um fluxo de trabalho típico para preparar uma máquina virtual hospedada na Amazon Web Services. Especificamente, vamos cobrir como selecionar a configuração de hardware virtual apropriada e como preparar o Sistema Operacional para o Rocket Pool. Você deve ser capaz de extrapolar como aplicar essas etapas a qualquer provedor uma vez que tenha se familiarizado com seu ecossistema.
Criando uma Máquina Virtual EC2
O primeiro passo é criar uma conta AWS se você ainda não tiver uma. Siga as instruções fornecidas nesse link ou faça login com uma conta existente, e eventualmente você chegará ao painel do console de gerenciamento:
Em seguida, clique no menu suspenso no canto superior direito da tela para selecionar a região geográfica onde você deseja que seu servidor resida fisicamente. Os servidores não podem ser movidos entre regiões depois de criados, então você deve garantir que está satisfeito com a opção atualmente selecionada antes de realmente criar o servidor.
Agora, clique em Services na barra de ferramentas. Vá para a seção Compute e selecione EC2. Seu painel deve mudar para uma visualização semelhante a esta:
Clique no botão laranja Launch Instance e selecione Launch Instance da lista de opções para criar uma nova máquina. Você será apresentado a um marketplace de Amazon Machine Images. Cada uma delas representa um snapshot específico de uma máquina com um Sistema Operacional pré-instalado e alguns outros componentes de software úteis.
Para um nó Rocket Pool, recomendamos que você use a imagem Ubuntu Server 24.04 LTS (HVM).
Em seguida, você terá que escolher um Instance Type. Isso determina quais recursos de hardware virtual sua máquina terá disponíveis.
No momento da redação deste texto, estas são as opções que os diferentes tipos oferecem:
Os requisitos de hardware dependem em grande parte de qual consensus client você planeja executar - Nimbus, por exemplo, requer menos de 1GB de RAM por si só, então é perfeitamente razoável executá-lo em uma instância t2.large. Para clientes que consomem mais RAM, você pode querer optar por uma instância t2.xlarge para ter mais margem.
Você pode querer consultar a seção Escolhendo seus ETH Clients antes de decidir sobre um tipo de instância para poder ter certeza de que o cliente que você deseja é suportado pelo tipo de instância que você escolher.
Depois de fazer sua escolha, clique no botão Next. As configurações padrão estão todas corretas para a seção Instance Details, então deixe-as como estão e clique em Next.
Quando você chegar à seção Add Storage, você criará um novo disco rígido virtual para seu sistema. Isso pode ser expandido posteriormente graças ao poder da nuvem, então obter o número correto agora não é absolutamente crítico. No entanto, para sua própria paz de espírito, você deve alterar o tamanho para um dos seguintes valores:
- Use pelo menos 100 GiB se você está apenas testando o Rocket Pool na Hoodi Test Network.
- Use pelo menos 1 TiB (de preferência 2 TiB) se você vai usar este nó na rede Ethereum principal (mainnet).
Deixe os valores padrão para as outras configurações e clique em Next.
Na etapa Add Tags, você deve clicar no botão click to add a Name tag e dar um nome fácil de lembrar que você possa usar para identificar o servidor mais tarde; algo como Rocket Pool Smartnode funcionará se você precisar de inspiração. Clique em Next quando terminar.
Na seção Security Group, mantenha a opção Create a new security group selecionada. Digite um nome e descrição como Smartnode e Smartnode Group. Remova todas as regras existentes na tabela e adicione as seguintes regras:
Isso permitirá que você se conecte remotamente ao seu servidor via SSH (terminal de linha de comando) do seu laptop ou desktop. Também permitirá que os clientes Execution e Consensus se conectem a outros nós na rede Ethereum.
Para acesso SSH, isso só funcionará se você tiver um endereço IP público estático. Você provavelmente precisará solicitar isso do seu provedor de internet, pois muitos deles usam um sistema de IP dinâmico e alteram seu endereço público ocasionalmente. Se você não puder obter um endereço estático, terá que ir ao console AWS e atualizar essa configuração com seu novo endereço IP toda vez que ele mudar.
A tabela do security group agora deve se parecer com isto:
Agora, revise todos os detalhes da instância para garantir que você está satisfeito com eles, e clique em Launch quando estiver satisfeito.
Quando o prompt SSH key pair aparecer, selecione Create a new key pair.
Dê um nome memorável como Smartnode Key, depois clique em Download Key Pair.
Armazene esses arquivos em algum lugar seguro, como ~/.ssh/ (ou C:\Users\[seu nome de usuário]\.ssh\ no Windows) onde suas outras chaves geralmente residem.
Este par de chaves contém a chave privada que você usará para fazer SSH na sua máquina. Se alguém colocar as mãos nesta chave, terá acesso completo ao seu nó - incluindo sua carteira de nó Rocket Pool e todas as moedas dentro dela. Você deve manter este arquivo seguro o tempo todo.
Em seguida, clique em Launch Instance para criar seu novo servidor virtual. Quando um aviso aparecer, clique em View Instances para ser levado à sua lista de servidores. Você verá seu nó Rocket Pool lá com alguns detalhes que acompanham sobre sua configuração e status.
Finalmente, atribua um Elastic IP Address à sua máquina - você pode pensar nisso como um endereço IP estático que é exclusivo da AWS. Seu nó estará sempre acessível neste endereço, então você sempre poderá usar o mesmo comando SSH para se conectar a ele.
Vá para Network and Security no painel de navegação à esquerda e clique em Elastic IPs. Agora, clique em Allocate Elastic IP Address. As configurações padrão estão todas corretas, então apenas clique nas solicitações e retorne à lista quando terminar.
Em seguida, selecione o novo endereço na lista. Clique no botão Actions acima dele, depois clique em Associate Elastic IP Address. Deixe o tipo de recurso definido como Instance e selecione a instância Rocket Pool Smartnode que você acabou de criar da lista. Clique em Associate para atribuir o endereço ao seu servidor virtual. Agora, se você olhar na coluna *Associated Instance ID** do endereço, poderá verificar que ele tem sua máquina atribuída a ele.
Acessando a Máquina
Para acessar a máquina, abra um novo terminal no Linux ou macOS (use Powershell no Windows) e digite o seguinte comando:
Se você armazenou suas chaves na pasta .ssh, isso usará o par de chaves privadas que você gerou durante a configuração para autenticar automaticamente com a máquina - sem nomes de usuário, sem senhas.
Uma vez aqui, você tem acesso completo ao terminal do sistema.
Configurando o Espaço de Swap
Na maioria dos casos, se você escolher seus clientes Execution e Consensus e seu tipo de instância cuidadosamente, você não deve ficar sem RAM. Por outro lado, nunca é demais adicionar um pouco mais. O que vamos fazer agora é adicionar o que é chamado de espaço de swap. Essencialmente, significa que vamos usar o SSD como "RAM de backup" caso algo dê terrivelmente errado e seu servidor fique sem RAM regular. O SSD não é nem de longe tão rápido quanto a RAM regular, então se atingir o espaço de swap vai desacelerar as coisas, mas não vai travar completamente e quebrar tudo. Pense nisso como um seguro extra que você (provavelmente) nunca precisará.
Criando um Arquivo de Swap
O primeiro passo é criar um novo arquivo que atuará como seu espaço de swap. Decida quanto você quer usar - um começo razoável seria 8 GB, então você tem 8 GB de RAM normal e 8 GB de "RAM de backup" para um total de 16 GB. Para ser super seguro, você pode fazer 24 GB para que seu sistema tenha 8 GB de RAM normal e 24 GB de "RAM de backup" para um total de 32 GB, mas isso é provavelmente exagerado. Felizmente, como seu SSD tem 1 ou 2 TB de espaço, alocar 8 a 24 GB para um arquivo de swap é insignificante.
Para fins deste tutorial, vamos escolher um meio termo agradável - digamos, 16 GB de espaço de swap para um total de RAM de 24 GB. Basta substituir o número que você quiser conforme avançamos.
Digite isto, que criará um novo arquivo chamado /swapfile e o preencherá com 16 GB de zeros.
Para alterar a quantidade, apenas altere o número em count=16 para o que você quiser. Observe que isso vai demorar muito tempo, mas está tudo bem.
Em seguida, defina as permissões para que apenas o usuário root possa ler ou escrever nele (por segurança):
Agora, marque-o como um arquivo de swap:
Em seguida, habilite-o:
Finalmente, adicione-o à tabela de montagem para que ele carregue automaticamente quando seu servidor reiniciar:
Adicione uma nova linha no final que se pareça com isto:
Pressione Ctrl+O e Enter para salvar, depois Ctrl+X e Enter para sair.
Para verificar se está ativo, execute estes comandos:
Sua saída deve se parecer com isto no topo:

Se o segundo número na última linha rotulada Swp (aquele após a /) for diferente de zero, então está tudo certo.
Por exemplo, se mostrar 0K / 16.0G então seu espaço de swap foi ativado com sucesso.
Se mostrar 0K / 0K então não funcionou e você terá que confirmar que inseriu as etapas anteriores corretamente.
Pressione q ou F10 para sair do htop e voltar ao terminal.
Configurando Swappiness e Cache Pressure
Por padrão, o Linux usará ansiosamente muito espaço de swap para tirar um pouco da pressão da RAM do sistema. Não queremos isso. Queremos que use toda a RAM até o último segundo antes de confiar no SWAP. O próximo passo é alterar o que é chamado de "swappiness" do sistema, que é basicamente quão ansioso ele está para usar o espaço de swap. Há muito debate sobre qual valor definir para isso, mas descobrimos que um valor de 6 funciona bem o suficiente.
Também queremos diminuir a "cache pressure", que determina quão rapidamente o servidor excluirá um cache do seu sistema de arquivos. Como vamos ter muita RAM sobressalente com nossa configuração, podemos definir isso como "10", o que deixará o cache na memória por um tempo, reduzindo I/O de disco.
Para definir isso, execute estes comandos:
Agora, coloque-os no arquivo sysctl.conf para que sejam reaplicados após uma reinicialização:
Adicione estas duas linhas no final:
Depois salve e saia como você fez antes (Ctrl+O, Ctrl+X).
E com isso, seu servidor está funcionando e pronto para executar o Rocket Pool! Vá para a seção Escolhendo seus ETH Clients.