輸入規格檔案
Blockchain App Builder 初始化命令會讀取輸入規格檔案並產生鷹架式專案,其中包含可協助鏈碼開發流程的工具。
在規格檔案中,您可以指定多個資產定義和行為、CRUD 和非 CRUD 方法宣告、自訂方法、引數驗證、自動封送處理 (Marshall) / 取消封送處理 (unmarshalling)、通透保存功能,以及使用 SQL SELECT 敘述句或 CouchDB 查詢語言完成豐富資料查詢的功能。這些功能會為您產生。
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:
除了沒有指定類型的一般資產之外,Blockchain App Builder 還支援兩種特殊資產類型:內嵌資產和權杖資產。特殊資產定義為規格檔案之 assets:
區段下的 type: embedded
或 type: token
。
表格 3-2 規格檔案參數描述與範例
進入 | 描述 | 範例 |
---|---|---|
assets: |
此特性接受資產的定義和行為。您可以定義多個資產。 |
|
name: |
資產的名稱。 下列為保留名稱。請勿將這些名稱用於資產。
|
|
type: |
資產型態 支援下列特殊資產類型:
如果您未在 |
|
type: 類型:內嵌 |
如果此特性設為 在範例中,特性 內嵌資產不支援循環參考。例如,在上一個範例中, |
資產:
employee
資產:
address
|
properties: |
描述資產的所有物業。 |
|
name: |
特性的名稱。 |
|
id: |
這會指定此資產的 ID。此為必要屬性。 |
|
type: |
財產類型 支援下列基本特性類型:
對於 Go 鏈碼,
number 會對應至 int ,float 會對應至 float64 。目前不支援其他類型,包括下列類型:
|
|
derived: |
此特性指定 ID 特性衍生自其他索引鍵。相依特性必須是 此特性有兩個必要參數:
範例 1:
範例 2:
|
範例 1
範例 2
|
mandatory: |
對應的特性為必要項目,無法在建立資產時略過。 |
|
default: |
此屬性的預設值。 |
|
validate: |
指定的特性會根據區塊鏈 App 產生器提供的部分立即可用驗證進行驗證。如果確定鏈結有效,您可以鏈結驗證。 如果未提供 |
|
validate: 類型:數字 |
這些驗證可以鏈結在一起,並以逗號分隔。 |
|
validate: 類型:字串 |
對於 Go 鏈碼,必須正確遁離包含特定保留字元或空格字元的正規表示式。 |
|
validate: 類型:布林值 |
在範例中,特性 |
|
validate: 類型:陣列 |
依類型本身,格式為 您可以使用 |
|
validate: 類型:日期 |
日期必須為下列其中一種格式:
|
|
methods: |
使用此功能來說明要產生的 CRUD (建立 / 讀取 / 更新 / 刪除) 或其他方法。 預設會產生所有 CRUD 和其他方法。 |
|
crud: |
如果此陣列保留空白,將不會建立 CRUD 方法。 如果未指定
|
|
others: |
如果這個陣列保留空白,則不會建立其他方法。 如果完全未使用
|
|
customMethods: |
此特性會在主控制器檔案中建立不可呼叫的自訂方法樣板。它會採用方法簽章,並在控制器檔案中建立函數宣告。 您可以在這裡提供語言特有的函數宣告。 系統會提供名為 |
TypeScript
移至
|