> 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/desenvolver/basico/conectar-a-chiliz-chain/executar-um-no-chiliz-chain.md).

# Executar um nó Chiliz Chain

Executar seu próprio nó Chiliz Chain oferece maior controle, privacidade e confiabilidade, mas exige mais expertise técnica e recursos em comparação ao uso de um endpoint RPC existente.

Isso permite realizar transações e se comunicar com smart contracts na Chiliz Chain.

{% hint style="info" %}
Note que há uma página de documentação específica para execução de nós de Validadores: Validadores Chiliz Chain
{% endhint %}

## **Pré-requisitos**

Para executar o nó Chiliz Chain, você deve ter o [Docker](https://www.docker.com/) instalado, seja na sua máquina ou no servidor. Portanto, conclua a [instalação do Docker](https://docs.docker.com/engine/install/) antes de prosseguir.

### **Imagens Docker pré-construídas**

Você pode usar as imagens Docker pré-construídas do [repositório público da Chiliz Chain 2.0 no Docker Hub](https://hub.docker.com/repository/docker/chilizchain/ccv2-geth).

## **Iniciar um nó e começar a sincronização**

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

### **Passo 1: Criar um Diretório**

Crie um diretório e aponte para ele no parâmetro `-v` no seguinte comando:

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

### **Passo 2: Conectar o Cliente**

Para conectar um cliente a um nó, você deve habilitar os servidores HTTP RPC e/ou WebSocket especificando os grupos de parâmetros `--http` e/ou `--ws`, respectivamente.

Por exemplo:

```bash
docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 8545:8545 \
-p 8546:8546 \
chilizchain/ccv2-geth:latest \
--chiliz \ # para Chiliz Mainnet. Use --spicy para Spicy Testnet.
--datadir=/datadir \
--ipcdisable \
--http \
--http.addr=0.0.0.0 \
--http.api=eth,net,web3,debug,txpool \
--http.port=8545 \
--http.corsdomain="*" \
--http.vhosts="*" \
--ws \
--ws.addr=0.0.0.0 \
--ws.api=eth,net,web3,debug,txpool \
--ws.port=8546 \
--ws.origins="*" \
```

{% hint style="warning" %}
**ATENÇÃO**

Por razões de segurança, certifique-se de definir valores apropriados para os seguintes parâmetros:

`--http.corsdomain`

`--http.vhosts`

`--ws.origins`
{% endhint %}

## **Informações de Manutenção do Nó**

### Alterar verbosidade ao depurar

Em alguns casos, pode ser necessário aumentar a verbosidade do nó, por exemplo, quando você precisa depurar o próprio nó ou o cliente de conexão.

Para isso, você pode definir o parâmetro `--verbosity`. Ele aceita as seguintes opções (padrão é 3):

* 0=silencioso
* 1=erro
* 2=aviso
* 3=info
* 4=debug
* 5=detalhe

### Parar o nó e limpar

Se você iniciou o nó usando um dos comandos acima, o processo do nó continua em execução em primeiro plano. Para interrompê-lo, pressione CTRL+C.

Execute o seguinte comando para remover o container Docker:

```bash
docker rm ccv2-node
```

### **Excluir o diretório**

Execute o seguinte comando para excluir um diretório:

```bash
rm my-datadir
```

## Atualizar seu Nó

A equipe da Chiliz Chain se esforça para manter a Chiliz Chain segura e moderna, e por isso realizamos hard forks periodicamente ao longo do ano, como o hard fork Dragon8.

Em caso de hard fork, seu nó ficará fora de sincronia com a rede. Por isso, é importante acompanhar nossos anúncios e atualizar seu nó.

Para manter seu nó atualizado, siga os passos abaixo.

**Se você usa Docker:**

1. Certifique-se de parar e excluir seu container Docker existente preservando os volumes que contêm seu banco de dados.
2. Inicie seu nó usando [a imagem Docker pré-construída mais recente disponível](https://hub.docker.com/repository/docker/chilizchain/ccv2-geth).

**Se você usa seu próprio binário:**

1. [Baixe a versão mais recente do nosso repositório GitHub](https://github.com/chiliz-chain/v2/releases).
2. Compile a partir daí com seu conjunto de ferramentas.

## Executar um nó de arquivo

Para executar um nó em modo de arquivo, adicione os seguintes 2 parâmetros à chamada `ccv2-geth` apresentada acima:

```bash
--syncmode=full \
--gcmode=archive \
```

## Executar um Nó Chiliz Chain a partir de um Snapshot ou Backup

Para acelerar o processo de sincronização do seu nó Chiliz Chain, você pode usar um snapshot — uma cópia recente (ou arquivo/backup) do diretório de dados da blockchain (`datadir`). Esse método permite que seu nó fique operacional mais rapidamente em comparação à sincronização do zero.

{% hint style="info" %}
Recomenda-se manter snapshots para novas configurações de nós.\
Sobrescrever um datadir existente com um snapshot pode causar inconsistências.
{% endhint %}

### Snapshots Disponíveis

Cada rede tem um snapshot dedicado:

* Spicy Testnet: [chaindata\_snapshot.tar.gz](https://s3.eu-west-3.amazonaws.com/spicy-snapshots.chiliz.com/chaindata_snapshot.tar.gz)
* Chiliz Chain Mainnet: [chaindata\_snapshot.tar.gz](https://s3.eu-west-3.amazonaws.com/snapshots.chiliz.com/chaindata_snapshot.tar.gz)

{% hint style="info" %}
**Limpando Dados Existentes**

Se você pretende aplicar um snapshot a um nó existente, certifique-se de excluir os seguintes diretórios e arquivos dentro do seu datadir antes de reiniciar o nó:

```bash
rm -rf blobpool transactions.rlp LOCK lightchaindata triecache
```

Esse passo ajuda a prevenir conflitos potenciais decorrentes de dados residuais.
{% endhint %}

### Passos para Executar um Nó a partir de um Snapshot:

1. Criar um Diretório de Dados:

```bash
mkdir -p ~/chiliz-node/my-datadir
```

2. Baixar o Snapshot:

Substitua a URL pela URL do snapshot da Mainnet se necessário.

{% code overflow="wrap" lineNumbers="true" %}

```bash
cd ~/chiliz-node/my-datadir
nohup curl -L --retry 5 -o chaindata.tar.gz https://s3.eu-west-3.amazonaws.com/spicy-snapshots.chiliz.com/chaindata_snapshot.tar.gz > download.log 2>&1 &
```

{% endcode %}

{% hint style="info" %}
Para monitorar o progresso do download, use:\
`tail -f download.log`
{% endhint %}

3. Extrair o Snapshot:

```bash
tar -xzf chaindata.tar.gz
```

4. Executar o Nó Chiliz Chain:

{% code lineNumbers="true" %}

```bash
docker run \
  -v ~/chiliz-node/my-datadir:/datadir \
  --name ccv2-node \
  -p 8545:8545 \
  -p 8546:8546 \
  chilizchain/ccv2-geth:latest \
  --spicy \  # Use --chiliz para Mainnet
  --datadir=/datadir \
  --ipcdisable \
  --http \
  --http.addr=0.0.0.0 \
  --http.api=eth,net,web3,debug,txpool \
  --http.port=8545 \
  --http.corsdomain="*" \
  --http.vhosts="*" \
  --ws \
  --ws.addr=0.0.0.0 \
  --ws.api=eth,net,web3,debug,txpool \
  --ws.port=8546 \
  --ws.origins="*"
```

{% endcode %}

## Informações adicionais sobre o Geth

Visite as [opções de linha de comando](https://geth.ethereum.org/docs/fundamentals/command-line-options) do Geth para ver a lista completa de parâmetros disponíveis.


---

# 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/desenvolver/basico/conectar-a-chiliz-chain/executar-um-no-chiliz-chain.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.
