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