project 정리 - wogus2421/BlockChain_practice GitHub Wiki

컴포넌트

  • class를 contract 단위로 생각하여 분류하였다.

TOKEN(가명)

  • 기본적으로 contract에서 통용되는 Token에 대한 컴포넌트이다
  • zepplin 을 이용하여 기본적은 transfer 등의 함수를 이용한다.

ICO(가명)

  • ICO 를 위한 컴포넌트
  • 기본적으로 deploy 시에 저장할 owner의 account를 이용한다.
  • 이더와 토큰의 교환 체계를 담당한다.

INDIVIDUAL(가명)

  • 개인 사용자를 위한 contract 이다. 제공 되어야 할 함수는 다음과 같다.

  • register individual

    • 개인의 등록을 위한 함수 개인의 key를 이용하여 DB 컴포넌트에 저장한다. 이후, 저장된 value를 이용하여 이력관리나 분류에 사용한다.
  • find institute

    • 기관을 찾는 함수. 인증된 기관을 search 가능하며, 이를 통하여 인증서를 요청하거나 할 수 있다.
  • request record

    • 기관에게 인증서를 요구하는 함수.
  • create resume

    • 이력서를 만드는 함수. 발행되어있는 record중에서 (원하는 것을 취합? or 모든 이력?) 을 개인의 이력서로 저장하는 함수이다
  • find company

    • 회사를 search 하는 함수.
  • share resume

    • 찾은 회사에게 자신의 이력서를 공유해 주는 함수.

INSTITUTE(가명)

  • 인증서 발행을 담당하는 기관에 대한 contract 이다.

  • register institute

    • 발행 기관을 등록하는 함수. key를 이용하여 DB 컴포넌트에 저장한다. 이후, 저장된 value를 이용하여 인증서 발행이나 분류에 사용한다.
  • find individual

    • 개인을 찾는 함수.
  • create record

    • 인증서를 발행하는 함수. 발행되는 인증서는 개인으로도, 인증서 종류로도 search가 가능해야 한다.

Company(가명)

  • 회사를 위한 contract 이다
  • view resume
    • 개인의 이력서를 열람할 수 있는 함수.
  • purchase resume
    • 개인의 이력서를 구매하는 함수
  • request resume
    • 이력서를 요청하는 함수.

DB(가명)

  • 개인, 기관, 회사에 대한 정보와 이력, 인증서를 저장하는 contract. 내용이나 내부 함수들은 internal로 구현하여 encapsulation을 달성한다.
  • 함수에 관해서는 이력서나 인증서를 저장하는 방식이나 자료구조에 따라 논의가 다시 필요하다.
  • 어떻게 저장할지 또한 논의가 필요하다