<aside> 💡 TODO: 설정, 실행, 테스트, 메뉴얼, 구조도, 흐름도

</aside>

네트워크 설계

  1. 아이덴티티 설계, 네트워크 구조도 작성

                                                                              그림 1. 네트워크 관계

                                                                           그림 1. 네트워크 관계
    

                                                                          그림 2. 네트워크 구조

                                                                       그림 2. 네트워크 구조
    
  2. 기관, 피어, 채널 설계

    1. 기관 설계
      • 발급 기관
      • 판매 기관
    2. 채널 설계
      • CA - 인증서 관리
      • Orderer - Data ordering (합의)
      • Peer - 각 기능 수행 (제품 키 등록, 제품 키 소유권 이전, 제품 키 모니터링)
  3. 컨테이너 설계

  4. 구동, 운용 설계

프로토타입 설계

  1. 프로토타입 구성
    1. 네트워크
      • basic-network 참고
    2. 체인코드
      • sacc 참고
    3. 어플리케이션
      • fabric-book 참고
  2. 데모
    1. 네트워크 실행
    2. 체인코드 설치, 배포
    3. 체인코드 실행
  3. 어플리케이션 연결
    1. REST API (application endpoint)
      • Node.js (express server)
      • DB 등록, 조회
      • BC 등록, 수정, 조회
    2. Front
      • Fetch - jQuery (Ajax)
      • View - html, css, javascript

네트워크 설계

  1. Basic-network를 수정하여 프로토타입 네트워크를 구성
  2. 파일 수정
  3. 네트워크 실행
  4. 체인코드 작성
  5. 네트워크 구조

<aside> 🔥 getHistoryList() // 이 함수를 통해 state에 저장된 key를 다 불러오는 것이고, 이렇게 불러온 key를 이용해서 전체적으로 값을 읽어올 수 있다. 하지만 이렇게 하면 느려지게 된다. 그래서 이 전체 history를 world state에 저장하는 방법이 있고, 하나는 local db에 저장하는 방법이 있다. history를 world state에 저장하게 되면 저장공간이 늘어나게 되고, local db에 저장하여 하이브리드의 형태로 db를 구성하여 저장공간을 분산하여 속도를 늘려주는 역할을 한다. world state에 저장하게 되면 local db의 사용량을 최소화로 하여 완전한 블록체인을 꿈꿀 수 있지만, 리소스가 너무 많이 소모될 수 있다. 따라서 현재의 시스템은 리소스를 최소화 하기 위해서 local db에 저장되고 있다.

</aside>