프로그래밍 공부
2022-08-11 공부 본문
스토리지 구조
- 모든 보증피어 및 커미팅 피어는 LevelDB 또는 CouchDB를 기반으로 동일한 데이터가 저장됨
- 심플한 DB levelDB 웹서비스 가능한 DB CouchDB
- 블록체인은 peer의 로컬
- Key-Value Store - World State,private data
노드의 구성요소
- 블록체인(분산원장) - 블록체인 자체, 트랜젝션이 로그처럼 기록됨
- 체인코드(스마트 컨트랙트) - 트랜젝션을 계기로 실행된느 프로그램, 똑같은 체인코드가 모든 검증노드에 배포되어
샌드박스(Docker ]]\ 컨테이너)에서 실행됨, 사용 목적별로 여러 체인코드가 만들어짐 - KVS(Key-Value Stroe) - 트랜잭션을 실행 한 결과 얻어지는 "최신 상태"를 기록함
Key = chaincode ID + ckey, Value = 임의의 데이터
모든 검증노드에서 동일한 내용을 갖고, 그 해쉬값이 블록 체인에 기록됨, 변경 상태(자산의 이전등)가 관리 됨
체인코드
- 배포(Deploy) - 소스코드에 따라 체인코드를 등록, 원장에 기록됨
- 호출(Invoke) - 체인코드를 생성함, KVS에 데이터를 읽고 저장함, 원장에 기록됨, World State 생성, 삭제, 블록을 생성
- 조회(Query) - 체인코드에 데이터 조회함, KVS에서 데이터 읽기만 수행, 원장에 기록되지 않음
블록체인 기반 프로젝트 과정
- 유즈케이스 선정 - 사례 분석, 비지니스 요건 사전협의, IBM Design Tinking을 통한 아이디어 도출
- 요건 분석 및 시스템 구축 - 업무 요건 상세 정의, 인프라 설계 검토, 블록체인 다중 노드 구성 및 합의 모델 적용
블록체인 멤버쉽 서비스 구성 및 적용, 블록체인 개발환경 검토 및 구축 - 블록체인 서비스 설계 및 개발 - 비지니스 아키텍쳐 설계, 데이터 모델링, 사용자 UI,비지니스 어플리케이션 및
인터페이스 개발, 스마트 컨트트랙트(Chain Code) 설계 및 개발, 블록체인 모니터링 설계 및 개발 - 테스트 및 운영 - 비지니스 프로세스 기능 검증, 비기능 검증(성능/장애), 사용자 테스트(End-to-End)
그 외
하나의 피어에 여러개의 체인코드가 있을 수 있음, 여러개의 채널에 가입 할 수도 있음
하나의 체널에 여러가지 체인코드가 있을 수 있음
체널에 포함되어있는 모든 ledger는 data base를 가질 수 있다(public block-chain)
World State는 체인코드당 하나씩 있음
status는 스마트 컨트렉트에서 관리 되는 데이터
설치는 peer 배포는 channel
'2022 블록체인 지역특화 프로젝트 과정' 카테고리의 다른 글
2022-08-12 공부 (0) | 2022.08.16 |
---|---|
2022-08-10 공부 (0) | 2022.08.16 |
2022-08-09 공부 (0) | 2022.08.16 |
2022-08-08 공부 (0) | 2022.08.16 |
2022-08-05 교육 (0) | 2022.08.05 |
Comments