SCN(Service Chain Network) 과 ENN( Endpoint Node Netork) 앵커링 (Anchoring)
앵커링이란?
- 프라이빗 블록체인에 기록된 데이터의 해시값을 주기적으로 퍼블릭 블록체인 안에 포함시키는 것
SCN 과 EN 연동
* SCN 과 ENN 모두 가동
1. EN 의 kni 확인
2. SCN의 data 폴더에 EN의 kni를 담는 json 파일 생성
echo '["<EN의 kni ( [::] 부분은 EN 서버의 ip 주소로 변경)"]' > ~/klaytn/data/main-bridges.json
3. SCN 노드의 config 파일 수정 (/root/klaytn/bins/kscn-linux-amd64/conf/kscnd.conf)
vi ~/klaytn/bins/kscn-linux-amd64/conf/kscnd.conf
...
SC_SUB_BRIDGE=1 # 해당 옵션으로 SCN 연결 활성화 (0 : false, 1 : true)
...
SC_PARENT_CHAIN_ID=1001 # baobab 네트워크의 chain id
...
#SC_TX_PERIOD=10
SC_ANCHORING=1 # 해당 옵션으로 앵커링 활성화 (0 : false, 1 : true)
SC_ANCHORING_PERIOD=30 # 해당 옵션으로 PERIOD 설정 (30개의 블록마다 앵커링 수행)
...
4.kscn 재실행 후 EN에 연결 됐는지 확인
kscn attach --datadir ~/klaytn/data
> subbridge.peers.length
1
앵커링
* 앵커링은 "Chain Data Anchoring" 이라는 트랜잭션을 SCN 의 Parent Operator Account 가 발생시키는 것.
즉, 앵커링 트랜잭션의 수수료를 납부하기 위해 SCN의 Parent Operator Account 에는 충분한 양의 klay가 있어야 한다.
1. SCN의 Parent Operator Account 확인
2. Parent Operator Account 로 klay 송금
klaytn wallet(https://baobab.wallet.klaytn.com/) 에서 계좌 생성후 Parent Operator Account로 송금
3. 앵커링 시작
* 설정파일에서 바꿔주고 시작했으므로 자동으로 시작 됨
* 설정파일에서 바꿔주지 않았다면 subbridge.anchoring(true) <- 명령어로 앵커링 시작
4. 앵커링 확인
1) SCN의 Parent Operator Account를 Klaytn Scope(https://baobab.scope.klaytn.com/)에서 검색
2) 앵커링이 됐으므로 SCN에서 블록에 담긴 송금 트랜잭션 정보를 읽어 Parent Operator Account의 잔액을 확인할 수 있다.
참조
https://ko.docs.klaytn.com/node/endpoint-node
엔드포인트 노드 - Klaytn Docs KO
엔드포인트 노드 설치 바이너리는 다음의 인터페이스 및 지원 프로그램과 함께 제공됩니다.
ko.docs.klaytn.com
https://ko.docs.klaytn.com/node/service-chain/references/anchoring
앵커링 - Klaytn Docs KO
디자인 장에 설명된대로 서비스체인은 데이터 앵커링 기능을 지원합니다. 이 페이지는 앵커링 기능을 활성화하는 방법을 보여줍니다. 활성화된 경우 SCN은 데이터의 존재 및 불변성의 증거로 자
ko.docs.klaytn.com