> 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/ko/baeuggi/geomjeungja/geomjeungja-node-unyeong.md).

# 검증자 노드 운영

## **검증자 노드란 무엇인가요?**

Chiliz Chain [검증자](https://docs.chiliz.com/chiliz-chain-2.0/validator)가 되려면 자체 하드웨어나 파트너를 통해 검증자 노드를 운영해야 합니다. 노드는 Chiliz Chain에 커밋하기 전에 트랜잭션을 검증하도록 특별히 설정된 웹 서버입니다.

{% hint style="info" %}
더 일반적인 노드 운영 문서 페이지가 있습니다: [Chiliz Chain 노드 실행](/ko/gaebal/gibon/chiliz-chain-yeongyeol/node-silhaeng.md)
{% endhint %}

## TL;DR

검증자 노드를 실행하려면 다음 파라미터를 설정해야 합니다.

```bash
docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
chilizchain/ccv2-geth:latest \
--mine \
--chiliz \ # Chiliz Mainnet의 경우. Spicy Testnet의 경우 --spicy를 사용합니다.
--datadir=/datadir \
--password=/datadir/password.txt \
--allow-insecure-unlock \
--unlock=REPLACE_WITH_VALIDATOR_ADDRESS \
--syncmode=full \
--gcmode=archive \
--miner.etherbase=REPLACE_WITH_VALIDATOR_ADDRESS
--nodekeyhex=2668f377e69de_EXAMPLE_REPLACE_WITH_YOUR_VALUE_c88bea3e337446ed73 \
--nat=extip:140.250.140.250 \ # 예시일 뿐입니다.
--verbosity=4
```

{% hint style="warning" %}
이대로 사용하지 마세요!

`unlock`, `miner.etherbase`, `nodekeyhex` 파라미터를 반드시 업데이트하세요!
{% endhint %}

## 사전 조건

Chiliz Chain 검증자 노드를 실행하려면 머신 또는 서버에 Docker Engine이 설치되어 있어야 합니다. Amazon Web Services, Google Cloud Platform, Microsoft Azure와 같은 클라우드 프로바이더를 사용하거나 직접 서버를 설정할 수 있습니다(아래 참조).

계속 진행하기 전에 [Docker 설치](https://docs.docker.com/engine/install/)를 완료해 주세요.

### 시스템 요구사항

검증자 노드를 실행하려면 전용 서버가 필요합니다.

* CPU: 최소 2개의 CPU 코어.
* 메모리: 최소 4 GB RAM.
* 디스크: 최적의 성능을 위해 SSD를 사용하세요.
  * 체인과 동기화하기 위해 최소 300 GB의 여유 디스크 공간을 권장합니다.
* 네트워크 대역폭: 최소 10 Gbps.

## 사전 빌드된 Docker 이미지

Docker Hub의 [Chiliz Chain 2.0 공개 저장소](https://hub.docker.com/repository/docker/chilizchain/ccv2-geth)에서 사전 빌드된 Docker 이미지를 확인하거나 사용할 수 있습니다. 저장소에 액세스하려면 Docker Hub 계정이 있어야 합니다.

## 검증자 노드 실행 및 동기화 시작

Chiliz Chain 검증자 노드 실행의 권장 시작점은 마운트된 데이터 볼륨을 사용하는 것입니다. 이 방법을 사용하여 Docker 컨테이너를 재생성하면 데이터가 디렉터리에 저장되어 다른 검증자에 쉽게 재사용하거나 복제할 수 있습니다.

{% hint style="info" %}
Ethereum의 포크로서 Chiliz Chain은 노드 서버에 [Geth](https://geth.ethereum.org/)를 사용합니다.

Go-ethereum(Geth)은 Go로 구축된 Ethereum 클라이언트입니다. 합의 클라이언트와 함께 Geth를 실행하면 컴퓨터가 노드가 됩니다. 따라서 노드의 필수 구성 요소입니다.

아래에서 볼 수 있듯이 저희는 Geth를 `ccv2-geth`로 포크했습니다.
{% endhint %}

### 검증자 주소 생성

다음 명령으로 검증자 노드를 생성합니다.

```sh
docker run --rm -ti \
-v $(pwd)/keystore:/root/.ethereum/keystore/ \
chilizchain/ccv2-geth:latest \
--chiliz \  # Chiliz Mainnet의 경우. Spicy Testnet의 경우 --spicy를 사용합니다.
account new
```

비밀 키 파일에 대한 비밀번호를 입력해야 합니다.

* **키의 공개 주소:** 검증자를 실행하는 동안 이 주소가 `--unlock` 파라미터 설정에 사용됩니다.

```sh
docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
chilizchain/ccv2-geth:latest \
--chiliz \ # Chiliz Mainnet의 경우. Spicy Testnet의 경우 --spicy를 사용합니다.
...
--unlock=REPLACE_WITH_VALIDATOR_ADDRESS # 예시일 뿐입니다.
```

* **비밀 키 파일 경로:** 이 파일은 이전 단계에서 생성한 datadir `$(pwd)/my-datadir` 내의 "keystore" 디렉터리로 이동해야 합니다. 최종 파일 경로는 `"$(pwd)/my-datadir/keystore/UTC-(TIMESTAMP)-(ADDRESS)"`입니다. 파일 이름을 **변경하지 마세요**.
* **비밀번호:** 이전 명령을 실행하는 동안 입력한 비밀번호를 `$(pwd)/my-datadir/password.txt` 파일에 저장해야 합니다. 이 파일은 검증자 노드를 실행하는 동안 `--password`를 설정하는 데 사용됩니다.

```sh
docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
chilizchain/ccv2-geth:latest \
--chiliz \ # Chiliz Mainnet의 경우. Spicy Testnet의 경우 --spicy를 사용합니다.
...
--password=/datadir/password.txt
...
```

다음 권장 사항을 반드시 숙지하세요.

* **공개** 주소는 누구와도 공유할 수 있습니다.
* 비밀 키는 절대 누구와도 **공유하지 마세요**!
* 키 파일을 반드시 **백업**하세요!
* 비밀번호를 반드시 **기억**하세요!

### 검증자 노드 키 생성

*이 섹션은 선택 사항입니다.*

노드에 대한 무작위 16진수 문자열을 생성하는 것을 권장합니다. <https://www.browserling.com/tools/random-hex>를 사용하여 노드당 64자의 16진수 키를 생성할 수 있습니다.

```bash
docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
chilizchain/ccv2-geth:latest \
--chiliz \ # Chiliz Mainnet의 경우.
...
--nodekeyhex=2668f377e69de_EXAMPLE_REPLACE_WITH_YOUR_VALUE_c88bea3e337446ed73 # 예시.
...
```

### Geth의 NAT 포트 매핑 메커니즘 설정

`extip:<IP>` 옵션을 권장합니다. `<IP>`는 검증자가 실행되는 공개 IPv4 주소입니다.

```sh
docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
chilizchain/ccv2-geth:latest \
--chiliz \
...
--nat=extip:140.250.140.250 # 예시일 뿐입니다.
...
```

### 상세도 설정

Geth의 `--verbosity` 파라미터: 0=무음, 1=오류, 2=경고, 3=정보(기본값), 4=디버그, 5=상세. 4를 사용하는 것을 권장합니다.

```sh
docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
chilizchain/ccv2-geth:latest \
--chiliz \
...
--verbosity=4
...
```

## 노드 소유자 변경

언젠가 노드를 다른 사람에게 이전하고 싶을 때 다음 단계를 따르세요.

1. [Chiliz 스테이킹 dApp](https://governance.chilizchain.com/staking)에 지갑을 연결합니다.
2. "소유자 변경" 버튼을 클릭합니다.

<figure><img src="/files/48y4eVkagnvQXhXYXsg5" alt=""><figcaption></figcaption></figure>

3. 모달 창에서 소유자를 변경하려는 노드의 현재 주소와 새 주소를 입력합니다.

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

제출되면 변경 사항이 즉시 적용됩니다.


---

# 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/ko/baeuggi/geomjeungja/geomjeungja-node-unyeong.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.
