블록체인 앱 빌더 CLI로 체인코드 프로젝트 생성
블록체인 앱 빌더로 체인코드 프로젝트를 생성하려면 상세 사양 파일에서 체인코드 프로젝트를 스캐폴딩합니다.
배경
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 메소드를 사용하는 하나의 컨트롤러를 포함합니다.
출력