Esta página contém práticas recomendadas para executar nós RPC em várias redes de blockchain.
Especificamente, este tutorial explica como:
- Criar uma nova VPC para o seu nó.
- Criar uma VM para o seu nó.
- Configurar um novo perfil para o gestor de nós.
- Montar um disco externo na VM para os dados da cadeia.
Este guia pressupõe que já tem um projeto do Google Cloud com a faturação ativada. Para ver instruções sobre como o fazer, consulte o artigo Criar e gerir projetos.
Crie uma nova VPC
Para instruções detalhadas sobre a criação de VPCs, consulte o artigo Crie e faça a gestão de redes VPC.
Crie uma VPC para o seu nó seguindo estas recomendações:
- Crie uma VPC personalizada
- Modo de planeamento de trajeto regional
- MTU 1460
- Ative a regra de firewall
BLOCKCHAIN_VPC_NETWORK-allow-ssh
predefinida para a sua rede. Consulte o artigo Use regras de firewall da VPC para mais informações.
Substitua
BLOCKCHAIN_VPC_NETWORK
pelo nome da VPC que vai conter os recursos de nós, por exemplo,ethereum-vpc
.Adicione uma sub-rede IPv4 para a sua rede. Certifique-se de que a região escolhida para a sua sub-rede é a mesma região onde quer implementar o seu nó.
Para saber como criar regras de firewall para VMs numa VPC, consulte o artigo Crie regras de firewall da VPC.
Inicie uma VM com um SSD externo
Para obter instruções detalhadas sobre a criação de VMs e a associação de discos externos, consulte a documentação do Compute Engine.
Pode encontrar instruções específicas para o formato da VM que corresponde aos requisitos específicos da rede de blockchain na secção Hardware Requirements and Recommended Machine Type
da página do nó específico da blockchain. Consulte a documentação específica da cadeia de blocos para ver os requisitos de CPU e memória, o formato de VM recomendado para o seu nó e os comandos de criação do seu nó.
Estabeleça ligação à VM através do SSH e crie um novo utilizador
Estabeleça ligação à VM através do SSH
Quando a VM for aprovisionada, ligue-se à VM através de SSH navegando para a página do Compute Engine ou executando o seguinte comando no Cloud Shell:
gcloud compute ssh NODE_NAME
Substitua NODE_NAME pelo nome do seu nó. Use letras minúsculas, números e hífenes. Por exemplo:
my-node
.Se estiver a estabelecer ligação a partir da sua própria máquina, instale a CLI gcloud conforme descrito em Instale a CLI gcloud.
Quando a instalação da Google Cloud CLI estiver concluída, inicie sessão no seu projeto e estabeleça ligação à VM:
gcloud init gcloud compute ssh USER@NODE_NAME
Substitua USER pelo nome de início de sessão do utilizador Google Cloud .
Criar um novo utilizador
Depois de estabelecer ligação à VM através do SSH, crie um utilizador sudo não SSH para possuir e administrar todos os recursos do nó. Uma vez que este utilizador não tem chaves SSH nos metadados da VM, só é possível aceder à mesma estabelecendo primeiro ligação à máquina através de um dos utilizadores Google Cloud autenticados.
Crie um novo utilizador sudo com o seguinte comando:
sudo useradd -m NODE_ADMIN
Substitua NODE_ADMIN pelo ID de utilizador do novo utilizador. Por exemplo,
node-admin
.Adicione o utilizador ao grupo sudo:
sudo usermod -aG sudo NODE_ADMIN
Mude para este utilizador para terminar a montagem do disco externo:
sudo su - NODE_ADMIN
Monte os discos externos
O disco externo que criou no passo 2 vai alojar todos os dados da cadeia do seu nó. Esta é uma prática recomendada, uma vez que lhe permite transferir os dados entre nós assim que a VM for encerrada, bem como configurar facilmente programações de instantâneos para os dados da sua cadeia.
Monte o disco. Primeiro, liste todos os discos disponíveis na VM:
sudo lsblk
Muito provavelmente, o disco externo encontra-se em
/dev/sdb
. Pode identificar o disco externo pelo tamanho do disco que cria no passo 2.Formate o disco:
sudo mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/sdb
Crie um diretório para o disco e monte-o:
sudo mkdir -p /mnt/disks/CHAIN_DATA_NAME sudo mount -o discard,defaults /dev/sdb /mnt/disks/CHAIN_DATA_NAME
Substitua o seguinte:
- CHAIN_DATA_NAME: o nome do diretório de dados da sua cadeia. Por exemplo,
my-eth-data
. - /dev/sdb: a localização do disco, se for diferente de
/dev/sdb
.
- CHAIN_DATA_NAME: o nome do diretório de dados da sua cadeia. Por exemplo,
Atribua privilégios de escrita a
NODE_ADMIN
:sudo chmod a+w /mnt/disks/CHAIN_DATA_NAME
Obtenha o UUID do disco e adicione-o a
fstab
para remontagem automática no reinício:sudo blkid /dev/sdb export DISK_UUID=$(findmnt -n -o UUID /dev/sdb) echo "UUID=$DISK_UUID /mnt/disks/CHAIN_DATA_NAME ext4 discard,defaults,nofail 0 2" | sudo tee -a /etc/fstab
O disco está agora montado e pronto. Para verificar o disco montado, execute o seguinte comando:
df -h
O que se segue?
A estrutura do seu nó está pronta. Nesta fase, deve ter:
- Uma VPC para o seu nó com acesso SSH ativado.
- Uma VM adequada aos requisitos do seu nó.
- Um novo utilizador administrador do nó para possuir e gerir recursos do nó.
- Um disco SSD externo montado adequado aos requisitos de armazenamento do seu nó.
Certifique-se de que volta à documentação específica da cadeia de blocos para concluir a execução dos comandos de implementação do seu nó.