일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- javascript
- 접근제어자
- 프레임워크
- blockchain
- 앵커링
- geth구현
- SCN
- 블록체인 구조와 이론
- 이더리움
- web3.js
- 서비스체인
- Solidity
- web3
- 블록체인
- 웹
- 클레이튼
- Klaytn
- vue.js
- nodejs
- 프론트엔드
- vue
- 제어자
- frontend
- 솔리디티
- Web
- Geth
- Klaytn API Service
- ethereum
- API
- kas
Archives
- Today
- Total
BloCCat
SCN(Service Chain Network) 구축 본문
SCN을 구축하기 전에 클레이튼 네트워크의 구조를 알아야 한다.
간단히 말하면 서비스 체인은 개인, 기업이 클레이튼 네트워크에 데이터(트랜잭션)을 보다 빠르고 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
에서 최신 버전 다운후 압축해제
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 |