> For the complete documentation index, see [llms.txt](https://docs.chiliz.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.chiliz.com/pt-br/aprender/sobre-validadores/executar-no-validador.md).

# Executar um nó Validador

## **O que é um nó validador?**

Para se tornar um [validador](https://docs.chiliz.com/chiliz-chain-2.0/validator) da Chiliz Chain, você precisa executar um nó Validador, seja com seu próprio hardware ou por meio de um parceiro.\
Um nó é um servidor web configurado especificamente para validar transações antes de confirmá-las na Chiliz Chain.

{% hint style="info" %}
Note que temos uma página de documentação mais genérica sobre execução de nós: [Executar um nó Chiliz Chain](/pt-br/desenvolver/basico/conectar-a-chiliz-chain/executar-um-no-chiliz-chain.md)
{% endhint %}

## Resumo

Para executar um nó Validador, você precisa definir os seguintes parâmetros:

```bash
docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
chilizchain/ccv2-geth:latest \
--mine \
--chiliz \ # para Chiliz Mainnet. Use --spicy para Spicy Testnet.
--datadir=/datadir \
--password=/datadir/password.txt \
--allow-insecure-unlock \
--unlock=SUBSTITUA_PELO_ENDERECO_DO_VALIDADOR \
--syncmode=full \
--gcmode=archive \
--miner.etherbase=SUBSTITUA_PELO_ENDERECO_DO_VALIDADOR
--nodekeyhex=2668f377e69de_EXEMPLO_SUBSTITUA_PELO_SEU_VALOR_c88bea3e337446ed73 \
--nat=extip:140.250.140.250 \ # Este é apenas um exemplo.
--verbosity=4
```

{% hint style="warning" %}
Não use isso como está!

Certifique-se de atualizar os parâmetros `unlock`, `miner.etherbase` e `nodekeyhex`!
{% endhint %}

## Pré-requisitos

Para executar o nó validador da Chiliz Chain, você deve ter o Docker Engine instalado na sua máquina ou servidor.\
Você pode usar um provedor de nuvem como Amazon Web Services, Google Cloud Platform ou Microsoft Azure, ou pode configurar seu próprio servidor (veja abaixo).

Por favor, conclua a [instalação do Docker](https://docs.docker.com/engine/install/) antes de prosseguir.

### Requisitos do sistema

Você precisará de um servidor dedicado para executar seu nó validador:

* CPU: Pelo menos 2 núcleos de CPU.
* Memória: Pelo menos 4 GB de RAM.
* Disco: Use uma unidade de estado sólido (SSD) para desempenho ideal.
  * Recomendamos ter pelo menos 300 GB de espaço em disco livre para sincronizar com a chain.
* Largura de Banda de Rede: Pelo menos 10 Gbps.

## Imagens Docker pré-construídas

Visualize ou use as imagens Docker pré-construídas do [repositório público da Chiliz Chain 2.0](https://hub.docker.com/repository/docker/chilizchain/ccv2-geth) no Docker Hub. Note que você deve ter uma conta no Docker Hub para acessar o repositório.

## Iniciando um nó Validador e começando a sincronização

O ponto de partida recomendado para executar um nó validador da Chiliz Chain é com o volume de dados montado. Se esse método for usado para recriar um contêiner Docker, os dados são armazenados no diretório e podem ser facilmente reutilizados ou clonados para outro validador.

{% hint style="info" %}
Como um fork do Ethereum, a Chiliz Chain depende do [Geth](https://geth.ethereum.org/) para seus servidores de nó.

O go-ethereum (também conhecido como Geth) é um cliente Ethereum construído em Go. Executar o Geth junto com um cliente de consenso transforma um computador em um nó. É, portanto, uma parte essencial do seu nó.

Fizemos um fork do Geth em `ccv2-geth`, como você verá abaixo.
{% endhint %}

### Criar o endereço do validador

Crie o nó validador com o seguinte comando:

```sh
docker run --rm -ti \
-v $(pwd)/keystore:/root/.ethereum/keystore/ \
chilizchain/ccv2-geth:latest \
--chiliz \  # para Chiliz Mainnet. Use --spicy para Spicy Testnet.
account new
```

Você precisará digitar uma senha para o arquivo de chave secreta.

* **Endereço público da chave:** Ao executar o validador, este endereço será usado para definir o parâmetro `--unlock`.

```sh
docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
chilizchain/ccv2-geth:latest \
--chiliz \ # para Chiliz Mainnet. Use --spicy para Spicy Testnet.
...
--unlock=SUBSTITUA_PELO_ENDERECO_DO_VALIDADOR # Este é apenas um exemplo.
```

* **Caminho do arquivo de chave secreta:** Este arquivo precisa ser movido para o diretório "keystore" dentro do datadir `$(pwd)/my-datadir` que você criou nas etapas anteriores, portanto o caminho final do arquivo será\
  `"$(pwd)/my-datadir/keystore/UTC–(TIMESTAMP)-(ENDERECO)"`.\
  **NÃO** altere o nome do arquivo.
* **Senha:** A senha que você digitou durante a execução do comando anterior precisa ser armazenada em um arquivo:\
  `$(pwd)/my-datadir/password.txt`\
  Este arquivo será usado para definir `--password` ao executar o nó validador.\
  Não se esqueça de que todos os arquivos no caminho do host `$(pwd)/my-datadir` estarão localizados no contêiner no diretório `/datadir`, é por isso que o parâmetro de senha deve ser definido como no exemplo a seguir:

```sh
docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
chilizchain/ccv2-geth:latest \
--chiliz \ # para Chiliz Mainnet. Use --spicy para Spicy Testnet.
...
--password=/datadir/password.txt
...

```

É muito importante ter as seguintes recomendações em mente:

* Você pode compartilhar seu endereço **público** com qualquer pessoa. Outros precisam dele para interagir com você.
* Você **NUNCA DEVE COMPARTILHAR** a chave secreta com ninguém! A chave controla o acesso aos seus fundos!
* Você **DEVE FAZER BACKUP** do seu arquivo de chave! Sem a chave, é impossível acessar os fundos da conta!
* Você **DEVE LEMBRAR** sua senha! Sem a senha, é impossível descriptografar a chave!

### Gerar a chave do nó validador

*Esta seção é opcional.*

Recomendamos que você gere uma string hexadecimal aleatória para o nó.\
Isso é útil para rastreabilidade nos logs e para evitar problemas de pareamento com a chain.

Para fazer isso, você pode usar <https://www.browserling.com/tools/random-hex> e gerar uma chave hexadecimal com 64 caracteres por nó.\
Ao executar um nó validador, você pode definir `--nodekeyhex` com este valor. Isso garantirá que, ao reiniciar o nó, ele terá o mesmo endereço de nó (chamado de "endereço enode") e permitirá uma depuração ou localização de falhas mais fácil no futuro.

```bash
docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
chilizchain/ccv2-geth:latest \
--chiliz \ # para Chiliz Mainnet. Use --spicy para Spicy Testnet.
...
--nodekeyhex=2668f377e69de_EXEMPLO_SUBSTITUA_PELO_SEU_VALOR_c88bea3e337446ed73 # Este é apenas um exemplo.
...
```

### Definir o mecanismo de mapeamento de porta NAT do Geth

O parâmetro `--nat` do Geth tem as seguintes opções: `any`, `none`, `upnp`, `pmp`, `pmp:<IP>` e `extip:<IP>`. O padrão é `any`. [Veja a documentação do Geth para mais informações](https://geth.ethereum.org/docs/fundamentals/command-line-options).

Recomendamos usar a opção `extip:<IP>`, onde `<IP>` é o endereço IPv4 público onde o validador está sendo lançado.

```sh
docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
chilizchain/ccv2-geth:latest \
--chiliz \ # para Chiliz Mainnet. Use --spicy para Spicy Testnet.
...
--nat=extip:140.250.140.250 # Este é apenas um exemplo.
...
```

### Definir a verbosidade

Para depuração mais profunda, o parâmetro de verbosidade de log `--verbosity` do Geth pode ser definido como:

* 0=silencioso
* 1=erro
* 2=aviso
* 3=info
* 4=depuração
* 5=detalhe

O valor padrão é 3.\
Recomendamos que você use 4.

```sh
docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
chilizchain/ccv2-geth:latest \
--chiliz \ # para Chiliz Mainnet. Use --spicy para Spicy Testnet.
...
--verbosity=4 # Este é apenas um exemplo.
...
```

## Alterando o proprietário de um nó

Pode chegar um momento em que você não queira mais executar um nó validador. Você pode então querer passar o nó para outra pessoa.

Nesse caso, você pode seguir estes passos:

1. Conecte sua carteira ao [dApp de Staking da Chiliz](https://governance.chilizchain.com/staking).
2. Clique no botão "Change owner".

<figure><img src="/files/rs2F2KaJKaPJep4EwPBr" alt=""><figcaption></figcaption></figure>

3. Na janela modal, indique o endereço atual do nó cujo proprietário deseja alterar e seu novo endereço (fornecido pelo novo proprietário).

<figure><img src="/files/hEewU7bQshioi3p6J6wT" alt="" width="358"><figcaption></figcaption></figure>

Após o envio, a alteração será aplicada diretamente.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.chiliz.com/pt-br/aprender/sobre-validadores/executar-no-validador.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
