IT/Blockchain2023. 2. 17. 12:29

이 문서는 Klaytn Cypress 노드를 AWS 스팟 인스턴스를 이용하여 비용 효율적으로 구축할 수 있는 방법에 대해서 설명합니다.

: EN(Endpoint Node)을 구축하는 방법을 설명합니다.

: [AWS 시스템 구축 관련] AWS 스팟 인스턴스 구성 방법

목차
0. 설치 요구 사항
1. 다운로드
2. 방화벽 설정
3. 압축 해제 및 환경 설정
4. 노드 실행 및 확인
5. Chain 데이터 활용
6. 기타
참고문서

 

0. 설치 요구사항

- 하드웨어: 8vCPU, 64 GiB Mem

- 스토리지: 3 TB SSD + 2.5 GiB/일(Chaindata를 압축해제하려면 초기 5 TiB 필요) 

- OS: Amazon Linux 2, Ubuntu 등

1. 다운로드

wget -c https://packages.klaytn.net/klaytn/v1.9.1/ken-v1.9.1-0-linux-amd64.tar.gz

wget -c https://s3.ap-northeast-2.amazonaws.com/klaytn-chaindata/cypress/klaytn-cypress-chaindata-20230215010212.tar.gz

- 패키지 다운로드 페이지 에서 최신 Cypress 노드 패키지를 다운로드 합니다.

- Klaytn Cypress Chain Data 페이지에서 체인 데이터를 다운로드 합니다. 

  : 다운로드 시간이 약 7시간 정도 소요되네요. (35 MB/s 속도 기준)

 

2. 방화벽 설정

// 노드간 블록 및 Tx 싱크 (IN, OUT 전체(0.0.0.0/0) 오픈)
P2P: 32323, 32324

// JsonRPC, WebSocket 통신 (서비스 허용할 특정 IP 오픈)
RPC: 8551 
WS: 8552

// 서비스 체인 설정
Service Chain Bridge Port: 50505

 

3. 압축 해제 및 환경 설정

// 압축 해제
tar xvfz ken-v1.9.1-0-linux-amd64.tar.gz

// pigz 설치(압축 해제 속도 향상)
sudo apt-get install pigz

// chaindata 압축 해제
nohup tar -I pigz -pxf klaytn-cypress-chaindata-20230215010212.tar.gz -C ./kend_home/ &

// 폴더 생성
mkdir kend_home

// 환경 설정
vi ~/.bash_profile

export PATH=$PATH:$HOME/ken-linux-amd64/bin

source ~/.bash_profile

 

4. 노드 실행 및 확인

// 노드 실행
kend start

// 노드 상태 확인
kend status

// 로그 확인
tail -f ~/kend_home/logs/kend.out

 

5. Chain 데이터 활용

tar xvfz klaytn-cypress-chaindata-20230215010212.tar.gz

mv [압축해제 폴더명] kend_home

kend start

* Chaindata Migration : 체인 데이터 용량을 줄이기 위한 방법을 제공한다.

 

6. 기타

- 블록체인 데이터들이 몇 년만에 수 테라바이트가 되었다.

- 상태 정보를 요약하여 용량을 줄이는 방법을 제공하지만 신뢰성과 시간, 비용을 맞바꾼 것이다.

- 블록체인은 태생적으로 여러 노드에 동일한 데이터를 저장, 검증하는 구조이기 때문에 비효율적인 면이 있다.

- 정기적으로 특정 시점의 상태 정보를 가지고 다시 시작할 수 있는 프로세스가 필요하다.  

 

[참고 문서]

1. Klaytn 노드 하드웨어 요구사항

2. Klaytn 노드 패키지 다운로드

3. Klaytn EN 설치  

 

[작성 이력]

- 2023.02.20 v1.0.0 : 초기 내용 작성

- 2023.02.21 v1.0.1 : chaindata 압축 해제 방식 수정  

 

기타 문의 사항 등은 덧글 달아주시구요.

도움이 되셨으면 ♥ 눌러주세요.   

반응형
Posted by ITBJ