블록체인 앱 빌더 CLI로 체인코드 프로젝트 생성
Blockchain App Builder CLI를 사용할 때 체인코드 프로젝트를 만들려면 세부 사양 파일에서 체인코드 프로젝트를 스캐폴딩합니다. 그러면 생성된 프로젝트에 필요한 모든 파일이 포함됩니다.
배경
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 메소드가 있는 하나의 컨트롤러가 포함됩니다.
출력