blocklet init 指令是一個互動式工具,可協助您在現有目錄中建立新 blocklet 的基本結構。它會產生核心的 blocklet.yml 元資料檔案和其他必要的樣板檔案,將您目前的資料夾轉變為一個功能性的 blocklet 專案。
當您想從頭開始建立一個 blocklet,或將現有專案(例如,已有 package.json 的專案)轉換為 blocklet 時,此指令非常理想。如果您偏好從預先建立的範本開始,請參閱 blocklet create 指令。
互動式引導
當您在專案目錄中執行 blocklet init 時,CLI 將會引導您回答一系列問題,以設定您的 blocklet 元資料。
終端機
blocklet init過程如下所示:
This utility will walk you through create such files and folders(if not exists):
- blocklet.yml
- blocklet.md
- screenshots/
It only covers common items, if you want to check all items, please visit:
https://github.com/ArcBlock/blocklets#keyinfo-blockletjson
Press ^C to quit.
? blocklet title: (my-blocklet) my-first-blocklet
? Please write concise description: A new Blocklet project.
? What's the group of the blocklet? dapp
? What's the entry point of the blocklet? (index.js)
Is this OK: (Y/n) Y
Meta file .../my-blocklet/blocklet.yml was created
Doc file .../my-blocklet/blocklet.md was created
Screenshots dir .../my-blocklet/screenshots/ was created
.../my-blocklet/logo.png was created
.../my-blocklet/index.js was created提示說明
| 提示 | 說明 |
|---|---|
title | 您的 blocklet 的人類可讀名稱。這用於顯示目的。預設為目前目錄的名稱。 |
description | 關於您的 blocklet 功能的簡短單句摘要。 |
group | blocklet 的類型或類別。可用選項為 dapp、static、api 和 gateway。 |
main | 您 blocklet 程式碼的進入點。對於 dapp 類型的 blocklet,這通常是一個腳本,如 index.js。對於 static 類型的 blocklet,這是包含您靜態資產的目錄(例如 .)。 |
初始化過程
該指令會執行幾個關鍵步驟來設定您的專案,包括透過連接到 DID 錢包為您的 blocklet 產生一個唯一的去中心化 ID (DID)。

產生的檔案
成功初始化後,您將在專案中找到以下檔案和目錄:
blocklet.yml:最重要的檔案。它包含您 blocklet 的所有元資料,例如其名稱(即其 DID)、標題、描述和版本。 blocklet.ymlyaml name: 'z8iZz5de8e9a6f8f2b3c1d9e2f7g2h1i8j3k4l5m' version: '0.1.0' title: 'my-first-blocklet' description: 'A new Blocklet project.' group: 'dapp' main: 'index.js' author: 'Your Name <your.email@example.com>' specVersion: '1.16.0' did: 'z8iZz5de8e9a6f8f2b3c1d9e2f7g2h1i8j3k4l5m' logo: 'logo.png' scripts: dev: 'node index.js'blocklet.md:一個用於您的 blocklet 詳細文件和描述的預留 Markdown 檔案,將顯示在 Blocklet Store 中。screenshots/:一個空目錄,您可以在其中放置 blocklet 的螢幕截圖,以便在 blocklet store 中顯示。logo.png:您的 blocklet 的預設 logo 圖片。
- 進入點檔案:根據您選擇的
group: - 對於
dapp,會建立一個index.js,其中包含一個簡單的 Node.js HTTP 伺服器。 index.jsjavascript const http = require('http'); const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello Blocklet\n'); }); const port = process.env.BLOCKLET_PORT || 3000; server.listen(port, () => { // eslint-disable-next-line no-console console.log(`Server running at http://127.0.0.1:${3000}/`); }); - 對於
static,會建立一個index.html。 index.htmlhtml <!DOCTYPE html> <html> <head> <title>Hello Blocklet</title> </head> <body> <h1>Hello Blocklet</h1> </body> </html>
- 對於
.gitignore:會新增一個基本的.gitignore檔案,以防止常見的建置產物和相依性被提交到版本控制中。
指令選項
您可以使用以下旗標來修改 blocklet init 的行為。
| 選項 | 別名 | 說明 |
|---|---|---|
--yes | -y | 跳過互動式提示並接受所有預設值。這對於腳本編寫很有用。 |
--force | -f | --yes 的別名。 |
--did <did> | 提供一個特定的 Blocklet DID 來使用,跳過自動產生步驟。 |
範例:非互動式初始化
若要快速初始化專案而不需回答提示,請使用 -y 旗標。該指令將使用從您的 package.json(如果存在)或目錄名稱衍生的預設值。
終端機
blocklet init -y一旦您的專案初始化完成,您就可以開始建置了。下一步是在本地開發環境中執行您的 blocklet。