testnet
GitHub EN

테스트넷 설정 사용자 지정 방법

advanced intermediate

marood testnet과 함께 --config-changes 플래그를 사용하여 고급 테스트 시나리오를 위해 노드 설정을 동적으로 수정하는 방법을 배웁니다.

사전 요구사항

  • `marood testnet` 명령어에 대한 익숙함.
  • CometBFT의 `config.toml` 파일에 대한 기본적 이해.

1. `--config-changes` 플래그

이 플래그는 하나 이상의 키-값 쌍을 포함하는 단일 문자열을 받습니다. 형식은 "key1=value1,key2=value2"입니다.

  • config.toml의 중첩된 키의 경우 점 표기법을 사용합니다. 예를 들어, [consensus] 블록 내부의 timeout_commitconsensus.timeout_commit으로 참조됩니다.
  • log_level과 같은 최상위 키의 경우 키 이름만 사용합니다.

2. 예시: 빠른 블록 테스트넷 생성하기

일반적인 사용 사례는 개발 중 더 빠른 피드백을 위해 블록 시간을 줄이는 것입니다. 기본 timeout_commit은 수 초입니다. 500밀리초마다 블록이 커밋되는 2-노드 테스트넷을 만들어 봅시다.
marood testnet -v 2 -o ./fast-testnet --config-changes "consensus.timeout_commit=500ms"
참고: 이 명령을 실행한 후 `./fast-testnet/node0/config/config.toml`을 확인하면 `timeout_commit = "500ms"`가 설정된 것을 볼 수 있습니다.

3. 예시: 여러 변경 사항 결합하기

쉼표로 구분하여 여러 변경 사항을 적용할 수 있습니다. 빠른 블록과 상세한 디버그 로깅을 갖춘 테스트넷을 만들어 봅시다.
marood testnet -v 2 -o ./debug-testnet --config-changes "consensus.timeout_commit=500ms,log_level=debug"

4. 지원되는 유형

설정 파서는 설정 구조체의 대상 필드를 기반으로 다양한 데이터 유형을 처리할 만큼 똑똑합니다:
  • 기간: "500ms", "1s", "2m"과 같은 문자열을 사용합니다.
  • 정수: 100과 같은 일반 숫자를 사용합니다.
  • 불리언: true 또는 false를 사용합니다.
  • 문자열: 특수 문자를 포함하는 경우 따옴표로 묶습니다. 예: "info".
소스: maroo
ESC
검색어를 입력하세요