[klaytn] EN 설치 및 시작하기

HYEOB KIM·2022년 5월 11일
0

klaytn

목록 보기
1/1

본 글을 Klaytn 공식 문서를 참고하여 작성 되었습니다.

Klaytn Yum 레포지토리에서 설치(RHEL/CentOS/Fedora)

klaytn 리포지토리 등록 후 kend 패키지 다운로드

$ sudo curl -o /etc/yum.repos.d/klaytn.repo https://packages.klaytn.net/config/rhel/7/prod.repo && sudo yum install kend

설치 위치

파일명용도위치
kenbinary/usr/bin/ken
kend.confconfiguration/etc/kend/conf/kend.conf
kend.servicedaemon-

Configuration

1. EN 디렉토리 생성

$ sudo mkdir -p /var/kend/data

2. 환경설정 파일 업데이트

vim /etc/kend/conf/kend.conf

kend.conf

...
DATA_DIR=/var/kend/data
...

Fast Sync

각 EN은 네트워크의 체인 데이터 사본을 갖고 있습니다. 어떤 노드가 동기화되어 있지 않으면 네트워크의 다른 노드로부터 데이터를 받아옵니다 -- 동기화(syncing)라고 알려진 과정입니다. 새로운 EN이 처음 시작되면 네트워크로부터 전체 체인 데이터를 다운로드받아와야 합니다.

이 과정을 더 빠르게 하기 위해 EN을 시작하기 전에 체인 데이터의 스냅샷을 다운로드하여 패스트 싱크를 실행할 수 있습니다. 패스트 싱크는 EN이 처음 시작할 때 동기화하는 데에 드는 시간을 크게 줄일 수 있습니다.

=> cypress 스냅샷 아카이브
=> baobab 스냅샷 아카이브

위 사이트에서 메인넷(cypress)과 테스트넷(baobab)과 관련된 체인 데이터의 최신 스냅샷을 다운로드할 수 있습니다.

가장 최신 체인데이터 스냅샷의 URL을 복사합니다.

$ cd
$ vim download.sh

download.sh

cd /data/
wget https://s3.ap-northeast-2.amazonaws.com/klaytn-chaindata/cypress/klaytn-cypress-chaindata-20220510010512.tar.gz
tar -I pigz -xvfp *.tar.gz

pigz 패키지를 설치합니다.
(pigz는 CPU를 여러 개 사용해 멀티스레드 방식으로 압축을 풀기 때문에 속도가 훨씬 빠릅니다)

$ yum install pigz

백그라운드 프로세스로 실행합니다.

nohup download.sh

nohup 명령을 사용하면 nohup.out 파일이 생성되어 이곳에 스크립트의 출력이 저장됩니다.

$ ls
download.sh  nohup.out

아래 명령을 이용해 nohup.out 파일에 저장된 내용을 볼 수 있습니다.

$ tail -f nohup.out

EN 시작하기

$ systemctl start kend.service

EN 노드 정상 작동 확인

$ systemctl status kend.service
● kend.service - (null)
   Loaded: loaded (/etc/rc.d/init.d/kend; bad; vendor preset: disabled)
   Active: active (running) since Wed 2022-05-11 06:46:50 UTC; 6s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 7014 ExecStart=/etc/rc.d/init.d/kend start (code=exited, status=0/SUCCESS)
 Main PID: 7023 (ken)
   CGroup: /system.slice/kend.service
           └─7023 /usr/bin/ken --metrics --prometheus --multichannel --rpc --rpcapi klay,eth,net,web3 --rpcport 8551 --rpcaddr 0.0.0.0 --rpccorsdomain * --rpcvhosts * --ws --wsapi klay,eth,net,web3 --w...

May 11 06:46:50 klaytn-sync-01 systemd[1]: Starting (null)...
May 11 06:46:50 klaytn-sync-01 kend[7014]: Starting kend: [  OK  ]
May 11 06:46:50 klaytn-sync-01 systemd[1]: Started (null).

로그 확인

로그는 /var/log/kend/kend.out 파일에 저장되어 있고, 이 파일은 /etc/kend/conf/kend.conf 파일의 LOG_DIR 필드에서 정의된 경로에 있습니다.

...
LOG_DIR=/var/log/kend
...

노드가 제대로 작동하면 다음과 같이 매초 블록을 가져오는 것을 볼 수 있습니다.

$ tail kend.out
INFO[02/13,07:02:24 Z] [35] Commit new mining work                    number=11572924 txs=0 elapsed=488.336µs
INFO[02/13,07:02:25 Z] [5] Imported new chain segment                blocks=1 txs=0 mgas=0.000     elapsed=1.800ms   mgasps=0.000       number=11572924 hash=f46d09…ffb2dc cache=1.59mB
INFO[02/13,07:02:25 Z] [35] Commit new mining work                    number=11572925 txs=0 elapsed=460.485µs
INFO[02/13,07:02:25 Z] [35] 🔗 block reached canonical chain           number=11572919 hash=01e889…524f02
INFO[02/13,07:02:26 Z] [14] Committed                                 address=0x1d4E05BB72677cB8fa576149c945b57d13F855e4 hash=1fabd3…af66fe number=11572925
INFO[02/13,07:02:26 Z] [5] Imported new chain segment                blocks=1 txs=0 mgas=0.000     elapsed=1.777ms   mgasps=0.000       number=11572925 hash=1fabd3…af66fe cache=1.59mB
INFO[02/13,07:02:26 Z] [35] Commit new mining work                    number=11572926 txs=0 elapsed=458.665µs
INFO[02/13,07:02:27 Z] [14] Committed                                 address=0x1d4E05BB72677cB8fa576149c945b57d13F855e4 hash=60b9aa…94f648 number=11572926
INFO[02/13,07:02:27 Z] [5] Imported new chain segment                blocks=1 txs=0 mgas=0.000     elapsed=1.783ms   mgasps=0.000       number=11572926 hash=60b9aa…94f648 cache=1.59mB
INFO[02/13,07:02:27 Z] [35] Commit new mining work      

EN과 CN, PN 비교

CN, PNEN
nodekey 필요nodekey 필요 없음
동일 체인데이터동일 체인데이터
profile
Devops Engineer

0개의 댓글