blocklet init コマンドは、既存のディレクトリ内に新しい blocklet の基本構造を作成するのに役立つ対話型ユーティリティです。コアとなる blocklet.yml メタデータファイルやその他の基本的なボイラープレートを生成し、現在のフォルダを機能的な blocklet プロジェクトに変換します。
このコマンドは、blocklet をゼロから始めたい場合や、既存のプロジェクト(例:すでに package.json があるプロジェクト)を blocklet に変換したい場合に最適です。あらかじめ構築されたテンプレートから始めたい場合は、blocklet create コマンドを参照してください。
インタラクティブなウォークスルー
プロジェクトディレクトリで blocklet init を実行すると、CLI が一連の質問を通じて blocklet のメタデータ設定を案内します。
Terminal
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: 最も重要なファイルです。これには、名前(DID)、タイトル、説明、バージョンなど、blocklet のすべてのメタデータが含まれています。 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 ストアに表示される、blocklet の詳細なドキュメントと説明のためのプレースホルダー Markdown ファイルです。screenshots/: blocklet ストアで表示するために、blocklet のスクリーンショットを配置できる空のディレクトリです。logo.png: blocklet のデフォルトのロゴ画像です。
- エントリポイントファイル: 選択した
groupに応じて: dappの場合、シンプルな Node.js HTTP サーバーを備えたindex.jsが作成されます。 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(存在する場合)またはディレクトリ名から派生したデフォルト値を使用します。
Terminal
blocklet init -yプロジェクトが初期化されたら、ビルドを開始する準備が整いました。次のステップは、ローカル開発環境で blocklet を実行することです。