testnet
GitHub EN

로컬 테스트넷 생성

component developer

완전한 다중 검증인 로컬 테스트 환경 생성을 자동화합니다.

marood testnet 명령어는 로컬 마루 블록체인 네트워크 설정을 자동화하는 강력한 유틸리티입니다. 지정된 수의 검증인에 필요한 모든 설정 파일, 키, 제네시스 정보를 생성하여 개발자가 수동 설정 없이 현실적인 테스트 환경을 신속하게 구축할 수 있도록 합니다.

작동 방식

marood testnet을 실행하면 일련의 자동화된 단계가 수행됩니다. 먼저, 각 검증인 노드에 대한 별도의 디렉토리를 생성합니다. 각 디렉토리 내부에서 marood init에 해당하는 명령을 실행하여 기본 설정 파일을 만듭니다. 그런 다음 각 노드에 대해 고유한 검증인 키 쌍을 생성합니다.

다음으로, 생성된 모든 검증인의 공개 키를 수집하여 공통 genesis.json 파일을 생성합니다. 이 제네시스 파일에는 각 노드를 첫 번째 블록부터 검증인으로 선언하는 gentx(제네시스 트랜잭션)가 포함됩니다. 또한 각 검증인 계정에 OKRW 및 스테이킹 토큰의 초기 잔액을 할당합니다. 마지막으로, 이 공통 genesis.json 파일의 복사본을 각 노드의 설정 디렉토리에 배치하여 모든 노드가 동일한 상태에서 시작하도록 보장합니다.

생성되는 결과물

이 명령어는 지정된 출력 디렉토리(기본값: ./.testnets)를 생성합니다. 그 안에는 각 노드에 대한 디렉토리(예: node0, node1 등)가 있습니다. 각 노드 디렉토리에는 다음이 포함됩니다:
  • marood.log: 노드의 로그 파일.
  • config/: config.toml, app.toml, 그리고 중요한 genesis.json을 포함합니다.
  • data/: 블록체인 데이터를 포함합니다.


또한 이 명령어는 생성된 각 계정의 니모닉을 콘솔에 출력하며, 이는 테스트를 위해 지갑으로 가져오는 데 필수적입니다.

주요 설정 플래그

  • -v 또는 --validator-count: 생성할 검증인 노드의 수.
  • -o 또는 --output-dir: 테스트넷 파일이 저장될 디렉토리.
  • --starting-ip-address: 노드의 기본 IP 주소. 명령어는 후속 노드마다 이 주소를 증가시킵니다.
  • --chain-id: 테스트넷에 대한 특정 체인 ID를 설정합니다.
  • --config-changes: 생성 중에 config.toml 설정을 동적으로 수정할 수 있습니다. 자세한 내용은 '동적 노드 설정' 개념을 참조하세요.
소스: maroo
ESC
검색어를 입력하세요