BloCCat

SCN(Service Chain Network) 구축 본문

Study/클레이튼

SCN(Service Chain Network) 구축

uooy 2021. 12. 10. 11:24

SCN을 구축하기 전에 클레이튼 네트워크의 구조를 알아야 한다. 

 

https://bloccat.tistory.com/entry/%ED%81%B4%EB%A0%88%EC%9D%B4%ED%8A%BC-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EA%B5%AC%EC%84%B1?category=961166 

 

클레이튼 네트워크 구성

클레이튼은 기본적으로 이더리움을 기반으로 만들어진 네트워크지만 형태가 다르다 기존 public 블록체인 네트워크인 이더리움과 비트코인이 단일 네트워크인 반면 클레이튼은 3중 네트워크로

bloccat.tistory.com

 

간단히 말하면 서비스 체인은 개인, 기업이 클레이튼 네트워크에 데이터(트랜잭션)을 보다 빠르고  private하게 관리하기 위한 체인이다.

 

다만, 블록체인의 이념인 투명성에 위배 되므로 실제 서비스체인에 담긴 데이터는 메인 체인에 담길 수 있도록 EN(Endpoint Node)과 통신하여 메인체인에 앵커링하며 내가 근무하고 있는 회사는 빠른 테스트 환경을 위해 사용한다. 

 

*앵커링(Anchoring) : Private BlockChain (SCN,geth ...) 에 기록된 데이터의 해시값을 주기적으로

  Public BlockChain (Klaytn, Ethereum ...) 에 포함시키는 행위

 

*SCN을 구성하기 전, 테스트 서버는 aws, vultr 등 자유롭게 준비할 것

(linux 환경, CPU: 4코어(Intel Xeon 또는 동급), RAM: 16GB, HDD: 50GB)

 

 

1. SCN 패키지 다운로드
https://ko.docs.klaytn.com/node/download

 

다운로드 - Klaytn Docs KO

CN, PN, EN, SCN, SPN 및 SEN 용 패키지를 받을 수 있습니다.

ko.docs.klaytn.com

에서 최신 버전 다운후 압축해제

mkdir -p ~/klaytn/bins

cd ~/klaytn/bins

wget -d https://packages.klaytn.net/klaytn/v1.7.1/homi-v1.7.1-0-linux-amd64.tar.gz

wget -d https://packages.klaytn.net/klaytn/v1.7.1/kscn-v1.7.1-0-linux-amd64.tar.gz

tar zxvf kscn-v1.7.1-0-linux-amd64.tar.gz

tar zxvf homi-v1.7.1-0-linux-amd64.tar.gz

# 명령어 사용할 수 있도록 전역 설정
echo "export PATH=\$PATH:~/klaytn/bins/kscn-linux-amd64/bin" >> ~/.bashrc 

source ~/.bashrc

2.  homi로 genesis.json 및 nodekey 생성

 

* genesis.json : 블록체인 네트워크의 최초 블록 설정 파일

#### multi node 
~/klaytn/bins/homi-linux-amd64/bin/homi setup local --cn-num 4 --test-num 1 --servicechain --p2p-port 30000 -o ~/klaytn/homi-output
#### single node 
~/klaytn/bins/homi-linux-amd64/bin/homi setup local --cn-num 1 --test-num 1 --servicechain --p2p-port 30000 -o ~/klaytn/homi-output

ls /root/klaytn/homi-output
Klaytn.json  Klaytn_txpool.json  keys/  keys_test/  scripts/

ls /root/klaytn/homi-output/scripts
genesis.json  static-nodes.json

3. Node 초기화 & nodeKey 설정

kscn --datadir ~/klaytn/data init ~/klaytn/homi-output/scripts/genesis.json

cp ~/klaytn/homi-output/scripts/static-nodes.json ~/klaytn/data/

cp ~/klaytn/homi-output/keys/nodekey1 ~/klaytn/data/klay/nodekey

cp ~/klaytn/homi-output/keys/passwd1 ~/klaytn/data/klay/passwd

 ~/klaytn/data 폴더는 실제 블록체인 데이터들이 담기는 폴더로 네트워크를 구동하고 접근하는 것이 이 폴더다 

 


4. 노드 설정

vi ~/klaytn/bins/kscn-linux-amd64/conf/kscnd.conf
...
PORT=30000
...
SC_SUB_BRIDGE=0
...
DATA_DIR=~/klaytn/data
...

SC_SUB_BRIDGE : 앵커링을 위한 subbridge를 열기 위함 ( 0이면 false, 1이면 true)

DATA_DIR : 블록체인 데이터를 담고 읽을 폴더 경로

 


 5. 노드 시작 & SCN 접속

kscnd start
Starting kscnd: OK

#SCN 접속
$ kscn attach --datadir ~/klaytn/data
> klay.blockNumber
10

klay.blockNumber가 0이 아니면 정상 가동한 것.

'Study > 클레이튼' 카테고리의 다른 글

EN(Endpotint Node) 구축  (0) 2021.12.11
SCN(Service Chain Network)에서 klay 송금  (0) 2021.12.10
KAS 사용하기 - 기본 세팅  (0) 2021.09.24
KAS 사용하기 - 준비  (0) 2021.09.24
클레이튼 네트워크 구성  (0) 2021.09.24