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

블록체인 앱 빌더로 체인코드 프로젝트를 생성하려면 상세 사양 파일에서 체인코드 프로젝트를 스캐폴딩합니다.

배경

Blockchain App Builder의 init 명령은 즉시 사용 가능한 체인코드 프로젝트를 초기화하고 스캐폴딩합니다. 간단한 입력을 기반으로 init 명령은 다음 기능을 포함하는 복잡한 체인코드 프로젝트를 생성할 수 있습니다.
  • 여러 자산(모델) 및 해당 동작(컨트롤러)
  • 자동 생성된 CRUD(생성/읽기/업데이트/삭제) 및 비CRUD 메소드
  • 인수 자동 검증
  • 인수 마셜링/마셜링 해제
  • 투명 지속성 기능(ORM)
  • 풍부한 쿼리 지원

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

필요 조건

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

init 명령을 사용하여 Chaincode 프로젝트 스캐폴딩

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 체인코드 프로젝트입니다.

  • --루트/r

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

ochain init --cc MyNewTsProject --lang ts --conf spec.yml

기본값

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

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

출력

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