- 로컬 네트워크
- 테스트넷 네트워크
- 메인넷 네트워크
로컬 노드를 쉽게 설정하려면 다음을 실행하여 노드를 시작합니다:스크립트가 수행하는 작업에 대한 자세한 설명과 설정 프로세스에 대한 더 세밀한 제어를 원하면 아래를 계속 읽으세요.위의 명령은 노드를 실행하는 데 필요한 모든 구성 파일과 네트워크의 초기 상태를 정의하는 기본 제네시스 파일을 생성합니다. 이러한 모든 구성 파일은 기본적으로
이 시점에서 이제 로컬 계정을 생성했으므로 체인의 제네시스 파일에서
이 명령을 사용하면 단일 노드를 실행할 수 있으며, 이것만으로도 노드를 통해 체인과 상호작용하기에 충분하지만 여러 노드를 동시에 실행하여 노드 간의 합의가 어떻게 이루어지는지 확인할 수도 있습니다.
setup.sh 스크립트를 다운로드하고 실행하세요. 이렇게 하면 로컬 Injective 네트워크가 초기화됩니다.체인 초기화
Injective 노드를 실행하기 전에 체인과 노드의 제네시스 파일을 초기화해야 합니다:~/.injectived에 있지만 --home 플래그를 전달하여 이 폴더의 위치를 덮어쓸 수 있습니다. ~/.injectived 이외의 다른 디렉터리를 사용하기로 선택한 경우 injectived 명령을 실행할 때마다 --home 플래그로 위치를 지정해야 합니다. 이미 제네시스 파일이 있는 경우 --overwrite 또는 -o 플래그로 덮어쓸 수 있습니다.~/.injectived 폴더의 구조는 다음과 같습니다:genesis.json 파일 수정
이 시점에서 genesis.json 파일을 수정해야 합니다:- staking
bond_denom, crisisdenom, govdenom, mintdenom값을"inj"로 변경합니다. 이것이 Injective의 네이티브 토큰이기 때문입니다.
위의 명령은 기본
.injectived 디렉터리를 사용하는 경우에만 작동합니다. 특정 디렉터리의 경우 위의 명령을 수정하거나 genesis.json 파일을 수동으로 편집하여 변경 사항을 반영하세요.검증자 계정용 키 생성
체인을 시작하기 전에 최소 하나의 계정으로 상태를 채워야 합니다. 이를 위해 먼저test keyring 백엔드 아래에 my_validator라는 새 계정을 keyring에 생성합니다(다른 이름과 다른 백엔드를 자유롭게 선택하세요):inj 토큰을 부여합니다. 이렇게 하면 체인이 제네시스부터 이 계정의 존재를 인식하게 됩니다:$MY_VALIDATOR_ADDRESS는 keyring의 my_validator 키 주소를 보유하는 변수입니다. Injective의 토큰은 {amount}{denom} 형식입니다: amount는 18자리 정밀도의 소수이고 denom은 명명 키(예: inj)가 있는 고유한 토큰 식별자입니다. 여기서는 injectived에서 스테이킹에 사용되는 토큰 식별자인 inj 토큰을 부여합니다.체인에 검증자 추가
이제 계정에 토큰이 있으므로 체인에 검증자를 추가해야 합니다. 검증자는 체인에 새 블록을 추가하기 위해 합의 과정에 참여하는 특수 풀 노드입니다. 모든 계정이 검증자 운영자가 되겠다는 의사를 선언할 수 있지만, 충분한 위임을 받은 계정만 활성 세트에 들어갈 수 있습니다. 이 가이드에서는 위의init 명령을 통해 생성된 로컬 노드를 체인의 검증자로 추가합니다. 검증자는 gentx라는 제네시스 파일에 포함된 특수 트랜잭션을 통해 체인이 처음 시작되기 전에 선언할 수 있습니다:gentx는 세 가지 작업을 수행합니다:- 생성한
validator계정을 검증자 운영자 계정(즉, 검증자를 제어하는 계정)으로 등록합니다. - 제공된
amount의 스테이킹 토큰을 셀프 위임합니다. - 운영자 계정을 블록 서명에 사용될 Tendermint 노드 pubkey와 연결합니다.
--pubkey플래그가 제공되지 않으면 위의injectived init명령을 통해 생성된 로컬 노드 pubkey가 기본값으로 사용됩니다.
gentx에 대한 자세한 정보는 다음 명령을 사용하세요:app.toml 및 config.toml을 사용하여 노드 구성
~/.injectived/config 내에 두 개의 구성 파일이 자동으로 생성됩니다:config.toml: Tendermint를 구성하는 데 사용됩니다(Tendermint 문서에서 자세히 알아보기).app.toml: Cosmos SDK(Injective가 구축된 기반)에서 생성되며 상태 정리 전략, 텔레메트리, gRPC 및 REST 서버 구성, 상태 동기화 등의 구성에 사용됩니다.
app.toml 내의 minimum-gas-prices 필드입니다. 이 필드는 검증자 노드가 트랜잭션 처리를 위해 기꺼이 수락하는 최소 가스 가격을 정의합니다. 비어 있으면 필드를 10inj와 같은 값으로 편집해야 합니다. 그렇지 않으면 노드가 시작 시 중단됩니다. 이 튜토리얼에서는 최소 가스 가격을 0으로 설정합니다: