블록체인 앱 빌더 CLI로 체인코드 프로젝트 생성

Blockchain App Builder CLI를 사용할 때 체인코드 프로젝트를 만들려면 세부 사양 파일에서 체인코드 프로젝트를 스캐폴딩합니다. 그러면 생성된 프로젝트에 필요한 모든 파일이 포함됩니다.

배경

Blockchain App Builder의 init 명령은 즉시 사용할 수있는 체인 코드 프로젝트를 초기화하고 스캐폴딩합니다. 간단한 입력을 기반으로 init 명령은 다음 기능을 포함하는 복잡한 체인코드 프로젝트를 생성할 수 있습니다.
  • 여러 자산(모델) 및 해당 동작(컨트롤러)
  • CRUD(Create/Read/Update/Delete) 및 비CRUD 메소드 자동 생성
  • 인수 자동 검증
  • 인수 마셜링/언마셜링
  • 투명한 지속성 기능(ORM)
  • Rich Query 호출 기능

생성된 프로젝트는 모델/컨트롤러 및 데코레이터 패턴을 따르며, 이를 통해 원장에서 유지 관리되는 자산의 속성을 입력 필드로 지정하고 특정 동작 및 검증 규칙으로 확장할 수 있습니다. 이 패턴은 코드 행 수를 줄여 가독성과 확장성을 향상시킵니다.

필요 조건

프로젝트를 스캐폴딩하기 전에 입력 사양 파일을 작성해야 합니다. 자세한 내용은 입력 사양 파일을 참조하십시오.

init 명령을 사용하여 체인코드 프로젝트 비계

ochain init -h를 입력하면 명령 사용법이 모든 옵션과 함께 나열됩니다. init 명령에는 다음과 같은 옵션이 있습니다.
  • --cc/-c:

    체인코드 프로젝트의 이름입니다. 기본값은 MyChaincode입니다.

  • --lang/-l

    비계 체인 코드의 언어입니다. Blockchain App Builder는 Typescript (ts)와 Go (go)를 지원합니다. 옵션을 지정하지 않으면 언어가 기본적으로 ts로 설정됩니다.

  • --conf/-f 또는 --spec

    입력 사양 파일의 경로입니다. Blockchain App Builder는 입력 사양 파일을 읽고 전체 개발 노력을 줄이는 데 도움이되는 많은 도우미 도구를 사용하여 비계 프로젝트를 생성합니다. 입력 사양 파일을 최대한 활용하면 개발 시간을 크게 줄일 수 있습니다.

    사양 파일은 yaml 또는 json 형식일 수 있습니다. 경로를 지정하지 않으면 기본적으로 현재 디렉토리로 설정됩니다. 입력 사양 파일을 참조하십시오.

  • --out/-o

    스캐폴드 체인코드 프로젝트의 출력 디렉토리입니다. 지정하지 않으면 스캐폴드된 프로젝트가 현재 디렉토리에 생성됩니다.

    출력은 완전히 포함되고, 가볍고, 확장 가능한 Typescript 또는 Go 체인코드 프로젝트입니다.

  • --root/-r

    Go에만 적합하고 필요합니다. Go 체인코드에 대한 GOHOME 변수의 루트 디렉토리입니다. 기본값은 example.com입니다.

my-mac:~ name$ ochain init --cc MyNewTsProject --lang ts --conf spec.yml

기본값

ochain init 명령에 옵션을 지정하지 않으면 스캐폴딩된 프로젝트의 이름은 MyChaincode이고 언어는 TypeScript입니다.

MyChaincode.model.ts 파일에는 value라는 하나의 속성이 있는 MyAsset라는 하나의 자산만 포함됩니다. MyChaincode.controller.ts 파일에는 MyAsset 모델에 해당하는 CRUD 메소드가 있는 하나의 컨트롤러가 포함됩니다.

출력

프로세스가 완료되면 로컬 또는 원격 Oracle Blockchain Platform 인스턴스에 배포할 수 있는 완전한 기능의 체인코드 프로젝트가 제공됩니다. 생성된 파일에 대한 자세한 개요는 다음을 참조하십시오. 토큰 기반 프로젝트에 대한 자세한 개요는 다음을 참조하십시오.