입력 사양 파일
Blockchain App Builder 초기화 명령은 입력 사양 파일을 읽고 체인 코드 개발 프로세스를 지원하는 몇 가지 도구를 사용하여 비계 프로젝트를 생성합니다.
사양 파일을 사용하여 여러 자산 정의 및 동작, CRUD 및 비CRUD 메소드 선언, 사용자 정의 메소드, 인수 검증, 자동 마셜링/마셜링 해제, 투명한 지속성 기능, SQL SELECT 또는 CouchDB 질의 언어를 사용하여 다양한 데이터 질의 호출 등을 지정할 수 있습니다. 이러한 기능은 자동으로 생성됩니다.
yaml
또는 json
로 작성할 수 있습니다. Blockchain App Builder 패키지 다운로드에서 두 가지 형식으로 샘플 사양 파일을 볼 수 있습니다.
Fabcar-Typescript.yml
Marbles-Go.yml
주:
Go 규칙에 따라 내보낸 이름은 대문자로 시작합니다. 따라서 모든 자산 속성 및 메소드는 사양 파일에서 대문자로 시작하는 이름을 가져야 합니다.사양 파일의 구조
일반적으로 다음과 같은 방법으로 사양 파일을 구성합니다.
assets:
name:
type:
properties:
name:
type:
id:
derived:
strategy:
algorithm:
format:
mandatory:
default:
validate:
methods:
crud:
others:
customMethods:
블록체인 앱 빌더는 지정된 유형이 없는 일반 자산 외에도 포함된 자산과 토큰 자산이라는 두 가지 특수 자산 유형을 지원합니다. 특수 자산은 사양 파일의 assets:
섹션 아래에 type: embedded
또는 type: token
로 정의됩니다.
표 7-2 사양 파일 매개변수 설명 및 예
항목 | 설명 | 예 |
---|---|---|
assets: |
이 속성은 자산의 정의 및 동작을 취합니다. 여기에서 여러 자산 정의를 지정할 수 있습니다. |
|
name: |
자산의 이름. 다음 이름은 예약되어 있습니다. 자산에는 이러한 이름을 사용하지 마십시오.
|
|
type: |
자산 유형 다음 특수 자산 유형이 지원됩니다.
|
|
type: type: embedded(내장됨) |
이 속성을 예제에서는 포함된 자산은 순환 참조를 지원하지 않습니다. 예를 들어, 이전 예에서 |
자산:
employee
자산:
address
|
properties: |
자산의 모든 속성을 설명합니다. |
|
name: |
속성의 이름입니다. |
|
id: |
이 자산의 식별자를 지정합니다. 필수 등록 정보입니다. |
|
type: |
호텔 유형 다음과 같은 기본 등록 정보 유형이 지원됩니다.
Go 체인코드의 경우
number 가 int 에 매핑되고 float 가 float64 에 매핑됩니다. 다음 유형을 포함하여 현재 다른 유형은 지원되지 않습니다.
|
|
derived: |
이 등록 정보는 id 등록 정보가 다른 키에서 파생되도록 지정합니다. 종속 속성은 포함된 자산이 아닌 이 등록 정보에는 두 가지 필수 매개변수가 있습니다.
예 1:
예 2:
|
예제 1
예제 2
|
mandatory: |
해당 속성은 필수이며 자산을 생성하는 동안 건너뛸 수 없습니다. |
|
default: |
그러면 이 등록 정보의 기본값이 제공됩니다. |
|
validate: |
주어진 속성은 Blockchain App Builder에서 제공하는 일부 미리 정의된 검증에 대해 검증됩니다. 체인이 적합한지 확인하는 경우 검증을 체인화할 수 있습니다.
|
|
validate: 유형: 숫자 |
이러한 검증은 쉼표로 구분하여 함께 체인화할 수 있습니다. |
|
validate: 유형: 문자열 |
Go 체인코드의 경우 특정 예약 문자 또는 공백 문자를 포함하는 정규 표현식을 제대로 이스케이프해야 합니다. |
|
validate: 유형: boolean |
예제에서 |
|
validate: type: array(유형: 배열) |
유형 자체에 따라 배열에 대한 제한을 |
|
validate: 유형: date |
일자는 다음 형식 중 하나여야 합니다.
|
|
methods: |
이 옵션을 사용하여 생성할 CRUD(Create/Read/Update/Delete) 또는 추가 메소드를 지정합니다. 기본적으로 아무 것도 입력하지 않으면 모든 CRUD 및 기타 메소드가 생성됩니다. |
|
crud: |
이 배열을 비워 두면 CRUD 메소드가 생성되지 않습니다.
|
|
others: |
이 배열이 비어 있으면 다른 메소드가 생성되지 않습니다.
|
|
customMethods: |
이 등록 정보는 기본 컨트롤러 파일에 호출 가능한 사용자 정의 방법 템플리트를 만듭니다. 메소드 서명을 가져와서 제어기 파일에 함수 선언을 생성합니다. 여기서 언어별 함수 선언을 제공할 수 있습니다.
|
TypeScript
실행
|