コアメタデータフィールドは、Blockletの基本的なアイデンティティを確立します。これらは、Blockletエコシステム内での識別、バージョニング、および発見可能性のための、一目でわかる必須情報を提供します。すべての blocklet.yml ファイルは、有効と見なされるためにこれらの基本的なプロパティを定義する必要があります。
アイデンティティとバージョニング
これらのフィールドは、Blockletを一意に識別し、その進化を追跡します。
did (分散型識別子)
didは、Blockletのグローバルにユニークで不変の識別子です。これはArcBlockエコシステム全体でそのプライマリキーとして機能し、すべてのBlockletが安全かつ明確に参照できるようにします。
- did
string(required) — 有効な分散型識別子。DIDのタイプ情報は RoleType.ROLE_BLOCKLET を指定する必要があります。
検証ルール
システムは、提供されたDIDが構文的に正しいだけでなく、適切なロールタイプ(ROLE_BLOCKLET)を持っていることも検証します。これは重要なセキュリティと整合性の機能です。
blocklet.yml
did: z8ia29UsENBg6tLZUKi2HABj38Cw1LmHZocbQname
nameは、Blockletの人間が読める形式の識別子です。didがマシンにとっての正規の識別子であるのに対し、nameは開発者やユーザーにとって便利で覚えやすいエイリアスを提供します。レガシーな設定では、BlockletのDIDを導出するためにも使用されていました。
- name
string(required) — npmパッケージの命名規則に従い、32文字を超えないユニークな名前。
nameとdidの関係
nameとdidがどのように相互作用するかを理解することが重要です:
DIDファースト(推奨)
有効な、事前登録されたBlocklet DIDを提供します。これは現代的で最も堅牢なアプローチです。
ネームファースト(レガシーサポート)
nameを提供すると、システムはそこからDIDを導出できます。メタデータが有効であるためには、blocklet.yml内のdidフィールドが、nameから生成される期待されるDIDと一致しなければなりません。不一致があると検証エラーが発生します。
blocklet.yml
# この名前は表示用であり、DIDの導出に使用できます
name: 'my-awesome-blocklet'
# このDIDは有効なBlocklet DIDでなければなりません。ネームファーストのアプローチを使用する場合、
# 'my-awesome-blocklet' から導出されたDIDと一致する必要があります。
did: z8ia29UsENBg6tLZUKi2HABj38Cw1LmHZocbQversion
versionフィールドはBlockletのリリースバージョンを追跡し、ユーザーや他のBlockletのための適切な依存関係管理とバージョン管理を可能にします。
- version
string(required) — Blockletのバージョン。セマンティックバージョニング2.0.0仕様に準拠する必要があります(例:1.2.3、2.0.0-beta.1)。
blocklet.yml
version: '1.0.0'specVersion
このフィールドは、メタデータファイルが準拠するblocklet.yml仕様のバージョンを指定します。これにより、Blockletランタイムとツールがファイルの内容を正しく解析および解釈し、前方互換性を確保できます。
- specVersion
string— 仕様バージョンを示す有効なSemVer文字列。1.0.0以上である必要があります。
blocklet.yml
specVersion: '1.2.0'プレゼンテーションと分類
これらのフィールドは、Blockletがユーザーインターフェースでどのように表示され、どのように分類されるかを定義します。
title
titleはBlockletの表示に適した名前です。短いnameよりも説明的またはブランド化された名前が好まれるBlockletストア、ダッシュボード、ランチャーなどのユーザーインターフェースで使用されます。
- title
string— 短く、人間が読める形式のタイトル。その長さはCJK文字を認識して計算され、事前に定義された制限(MAX_TITLE_LENGTH)を超えてはなりません。詳細については、cjk-lengthを参照してください。
blocklet.yml
title: 'My Awesome Blocklet'description
descriptionは、Blockletの目的と機能の簡潔な要約を提供します。検索結果やUIのプレビューで多用され、ユーザーがBlockletの機能をすばやく理解するのに役立ちます。
- description
string(required) — Blockletの簡単な要約。3文字以上160文字以内。
blocklet.yml
description: 'あなたのDID Spaceのための素晴らしいデータ可視化ツールを提供するBlocklet。'logo
このフィールドはBlockletのロゴへのパスまたはURLを指定します。ロゴは、Blockletストア、ダッシュボード、その他のユーザーインターフェースでのブランディングに使用されます。
- logo
string— ロゴ画像への相対パスまたは絶対HTTP(S) URL。システムが内部で使用する既知のロゴパス (/.well-known/blocklet/logo) を指してはいけません。
blocklet.yml
# Blockletバンドル内の相対パスを使用
logo: 'images/logo.png'
# または絶対URLを使用
# logo: 'https://cdn.example.com/blocklet-logo.svg'group
groupフィールドはBlockletを分類し、レジストリやマーケットプレイスでの整理と発見可能性を助けます。
- group
string— Blockletのカテゴリ。定義済みの値のいずれかでなければなりません。
groupの有効な値は次のとおりです:
| Value | Description |
|---|---|
dapp | 分散型アプリケーション。 |
static | 静的ウェブサイトまたはシングルページアプリケーション。 |
service | バックエンドサービスまたはAPI。 |
component | 他のBlocklet内で構成されるように設計された再利用可能なコンポーネント。 |
blocklet.yml
# このBlockletを分散型アプリケーションとして分類します。
group: 'dapp'完全な例
以下は、blocklet.ymlファイルですべてのコアメタデータフィールドが連携して動作する様子を示すスニペットです。
blocklet.yml
name: 'data-visualizer'
did: z8ia29UsENBg6tLZUKi2HABj38Cw1LmHZocbQ # 'data-visualizer' に対応
version: '1.2.0'
specVersion: '1.2.0'
title: 'Data Visualizer'
description: 'あなたのDID Spaceのための素晴らしいデータ可視化ツールを提供するBlocklet。'
logo: 'images/logo.svg'
group: 'dapp'Blockletのコアアイデンティティを理解したところで、次のセクションではその作成者とメンテナーを指定する方法について説明します。