메인 콘텐츠로 건너뛰기

개요

Docker Compose를 사용하여 하나의 부트 노드와 네 개의 Validator 노드로 구성된 자체 로컬 DATA 네트워크를 손쉽게 설정할 수 있습니다. 이 로컬 네트워크를 통해 DATA 네트워크의 합의 계층을 테스트하거나, 프리컴파일된 프리미티브인 IP 그래프를 사용해 애플리케이션을 배포하고 다양한 테스트를 수행할 수 있습니다. 또한 필요에 따라 언제든지 네트워크를 재설정할 수 있습니다.

로컬 DATA 네트워크 실행

DATA Foundation 로컬 네트워크 실행에 대한 자세한 정보는 다음 저장소를 참고하세요: https://github.com/piplabs/story-localnet

사전 준비 사항

로컬 네트워크를 설정하려면 Docker가 필요합니다.

1단계 - Docker 실행

Docker를 실행하세요.

2단계 - 저장소 클론

story, story-geth, story-localnet 세 개의 저장소를 클론해야 합니다.
세 저장소가 모두 같은 하위 폴더 안에 위치하도록 하세요.
# clone repositories
git clone https://github.com/piplabs/story.git
git clone https://github.com/piplabs/story-geth.git
git clone https://github.com/piplabs/story-localnet.git

3단계 - 노드 시작

story-localnet 프로젝트로 이동하여 로컬 네트워크를 시작하세요.
# move to story-localnet
cd story-localnet

# start story local network
./start.sh

4단계 - 노드 종료

DATA Foundation 로컬 네트워크를 중지하려면 아래 스크립트를 실행하면 됩니다.
# terminate story local network
./terminate.sh

제네시스에서 계정에 토큰 할당하는 방법

로컬 네트워크에서 테스트를 위해 계정에 DATA 토큰을 할당해야 할 수 있습니다.
제네시스 블록에서 계정에 토큰을 할당하려면 다음 단계를 따르세요:
  1. config/story/genesis-geth.json의 alloc 섹션에 계정 정보를 추가합니다:
"<hex-encoded-account-address>": {
  "nonce": "0x0",
  "balance": "<hex-encoded-balance>",
  "code": "0x",
  "storage": {}
}
  1. update-genesis-hash.sh 스크립트를 실행하여 제네시스 블록 해시를 업데이트합니다:
./update-genesis-hash.sh

DATA Foundation 로컬 네트워크와 상호 작용하는 방법

기본적으로 DATA Foundation 로컬 네트워크는 다음 포트를 통해 상호 작용할 수 있도록 열려 있습니다.
포트서비스역할
8545story-gethDATA Foundation 실행 클라이언트용 RPC 서버 엔드포인트
1317story-nodeDATA Foundation 합의 클라이언트와 상호 작용하기 위한 API 서버 엔드포인트
26657story-nodeDATA Foundation 합의 클라이언트용 cosmos-sdk RPC 서버 엔드포인트

모니터링 시스템

이 설정에는 블록체인 네트워크에 대한 중앙 집중식 메트릭과 로그 시각화를 제공하기 위한 모니터링 스택이 포함되어 있습니다.
도구로는 Prometheus, Loki, Promtail, Grafana가 있으며, 모두 Docker Compose를 통해 통합되어 있습니다.

구성 요소 및 접근 정보

서비스역할기본 포트접근 URL
Prometheus성능 모니터링을 위해 노드 및 자체 메트릭 수집9090http://localhost:9090
LokiPromtail을 통해 네트워크 노드의 로그를 집계 및 저장3100http://localhost:3100
PromtailDocker 컨테이너의 로그를 수집하여 Loki로 전송9080 (API), 9095 (Metrics)http://localhost:9080
Grafana메트릭 및 로그 시각화를 위한 대시보드 인터페이스 제공3000http://localhost:3000