Validator 노드 실행

Validator 노드란 무엇인가요?

Chiliz 체인의 검증자가 되기 위해서는 특정 하드웨어 설정이 필요하며, Validator 노드를 실행할 수 있어야 합니다. 노드는 트랜잭션을 검증하여 Chiliz 체인에 커밋하기 전에 이를 검증하는 컴퓨터 시스템입니다.

Validator 노드 실행

Validator 노드를 실행하려면 다음 매개변수를 설정해야 합니다: (노드 키(hex) 매개변수를 업데이트해야 합니다!)

docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
chilizchain/ccv2-geth:latest \
--mine \
--chiliz \ # for Chiliz Mainnet. Use --spicy for Spicy Testnet.
--datadir=/datadir \
--password=/datadir/password.txt \
--allow-insecure-unlock \
--unlock=f9100d364b45a8fdbd178ed1edfe632cc7eb2ecc \
--syncmode=full \
--gcmode=archive \
--miner.etherbase=REPLACE_WITH_VALIDATOR_ADDRESS
--nodekeyhex=2668f377e69de_EXAMPLE_REPLACE_WITH_YOUR_VALUE_c88bea3e337446ed73 \
--nat=extip:140.250.140.250 \ # This is just an example.
--verbosity=4

사전 준비

Chiliz 체인 Validator 노드를 실행하려면 Docker Engine이 컴퓨터 또는 서버에 설치되어 있어야 합니다.

따라서 진행하기 전에 Docker 설치를 완료하십시오.

시스템 요구 사항

Validator 노드를 실행하려면 전용 서버가 필요합니다. 이 서버는 최소 4GB RAM, 2개의 CPU 코어, 최적의 성능을 위한 SSD(고체 상태 드라이브)를 갖추어야 합니다. 체인과 동기화하려면 최소 300GB의 여유 디스크 공간이 필요합니다. Amazon Web Services, Google Cloud Platform, Microsoft Azure와 같은 클라우드 제공업체를 사용하거나 자체 서버를 설정할 수 있습니다.

사전 구축된 Docker 이미지

Docker Hub에서 Chiliz 체인 2.0 공개 리포지토리의 사전 구축된 Docker 이미지를 확인하거나 사용할 수 있습니다.

Validator 노드 실행 및 동기화 시작

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

Validator 주소 생성

다음 명령어로 Validator 노드를 생성하십시오:

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

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

  • 키의 공개 주소: Validator를 실행하는 동안 이 주소가 --unlock 매개변수를 설정하는 데 사용됩니다.

docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
chilizchain/ccv2-geth:latest \
--chiliz \ # for Chiliz Mainnet. Use --spicy for Spicy Testnet.
...
--unlock=F9100d364b45a8fdbd178ed1edfe632cc7eb2ecc # This is just an example.
  • 비밀 키 파일의 경로: 이 파일은 이전 단계에서 만든 datadir $(pwd)/my-datadir의 "keystore" 디렉토리로 이동해야 하므로 파일의 최종 경로는 "$(pwd)/my-datadir/keystore/UTC–(TIMESTAMP)-(ADDRESS)"가 됩니다. 파일 이름을 변경하지 마십시오.

  • 비밀번호: 이전 명령어 실행 중에 입력한 비밀번호를 파일에 저장해야 합니다: $(pwd)/my-datadir/password.txt 이 파일은 Validator 노드를 실행할 때 --password 매개변수를 설정하는 데 사용됩니다. 호스트 경로 $(pwd)/my-datadir의 모든 파일이 컨테이너의 /datadir 디렉토리에 위치하므로 비밀번호 매개변수는 다음 예와 같이 설정해야 합니다:

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

다음 권장 사항을 명심하는 것이 매우 중요합니다:

  • 공개 주소는 누구와도 공유할 수 있습니다. 다른 사람들은 당신과 상호작용하기 위해 필요합니다.

  • 비밀 키는 절대 누구와도 공유해서는 안 됩니다! 키는 자금에 대한 접근을 제어합니다!

  • 키 파일을 백업해야 합니다! 키 없이는 계정 자금에 접근할 수 없습니다!

  • 비밀번호를 기억해야 합니다! 비밀번호 없이는 키를 복호화할 수 없습니다!

Validator 노드 키 생성

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

노드를 위한 무작위 16진 문자열을 생성하는 것이 좋습니다. 이는 로그의 추적 가능성을 높이고 체인과의 피어링 문제를 방지하는 데 유용합니다.

이를 위해 https://www.browserling.com/tools/random-hex 에서 각 노드에 대해 64자의 16진수 키를 생성할 수 있습니다. Validator 노드를 실행할 때 --nodekeyhex 매개변수에 이 값을 설정할 수 있습니다. 이를 통해 노드를 다시 시작할 때 동일한 노드 주소("enode 주소"라고 함)를 가지게 되며, 향후 디버깅 또는 문제 해결이 더 쉬워집니다.

docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
chilizchain/ccv2-geth:latest \
--chiliz \ # for Chiliz Mainnet. Use --spicy for Spicy Testnet.
...
--nodekeyhex=2668f377e69de_EXAMPLE_REPLACE_WITH_YOUR_VALUE_c88bea3e337446ed73 # This is just an example.
...

NAT 포트 매핑 메커니즘 설정

Geth 문서에 따르면, 매개변수 --nat 에는 any, none, upnp, pmp, extip:<IP>와 같은 옵션이 있습니다. 기본값은 any입니다.

Validator가 시작되는 공용 IPv4를 나타내는 extip:<IP>를 사용하는 것이 좋습니다.

docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
chilizchain/ccv2-geth:latest \
--chiliz \ # for Chiliz Mainnet. Use --spicy for Spicy Testnet.
...
--nat=extip:140.250.140.250 # This is just an example.
...

상세 설정

더 깊은 문제 해결을 위해 로깅 상세 설정을 다음과 같이 설정할 수 있습니다:

  • 0=silent

  • 1=error

  • 2=warn

  • 3=info

  • 4=debug

  • 5=detail

매개변수 --verbosity의 기본값은 3입니다. 4를 사용하는 것이 좋습니다.

docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 30303:30303 \
chilizchain/ccv2-geth:latest \
--chiliz \ # for Chiliz Mainnet. Use --spicy for Spicy Testnet.
...
--verbosity=4 # This is just an example.
...

Last updated