ArcBlock Blocklet 入門

Blocklet とは?
Blocklet は、開発者やコミュニティユーザーが ArcBlock プラットフォーム上でアプリケーションを構築するための再利用可能な構成要素です。最も基本的には、すぐに使えるコンポーネントやモジュール、ライブラリ、フロントエンドビューなどであり、dApp の開発を簡単に始められます。必要な Blocklet を選んですぐにインストールするだけで利用を開始できます。複数の Blocklet を容易に組み合わせ、より複雑なアプリケーションや dApp を構築できることも重要な特長です。

Blocklet は用途に応じてさまざまなパッケージとして提供されます。たとえば次のようなものがあります。
- Forge を利用するブロックチェーンに接続済みの dApp を、開発者が数分で立ち上げられるスターターテンプレート
- マイナーやコミュニティユーザーがインストールしてすぐに実行できる、フル機能の dApp
- ビジネスロジックのオンチェーン処理を定義し、Forge を利用するチェーンへワンクリックでデプロイできるスマートコントラクト
- ABT Blockchain Node を支援する Web コンポーネントまたはサービス
- Azure、AWS、その他のクラウド向けサンプル
- その他
Blocklet はまず、公式版、パートナー版、コミュニティ版の 3 種類で提供されます。

Blocklet Registry とは?
開発者が利用可能な Blocklet を簡単に見つけられるよう、ArcBlock とコミュニティ開発者が構築したすべての Blocklet は Blocklet.arcblock.io に掲載されています。このサイトは ArcBlock/blocklets をもとに構築されており、掲載された Blocklet を検索・閲覧し、わずか 1 つのコマンドで利用できます。このサイトを Blocklet Registry と呼びます。
Blocklet を定義するには?
Blocklet の作成には、いくつかの重要な情報が必要です。
❯ tree . -L 2
.
├── screenshots
│ ├── image1.png
│ ├── image2.jpg
│ └── image3.png
├── blocklet.md
├── blocklet.json
└── logo.svg主要情報:blocklet.json
これは Blocklet を定義する主要ファイルで、次のフィールドを含めることができます。
{
// Brief introduction to the blocklet
"description": "A dApp starter that integrates forge-javascript-sdk and create-react-app",
// Specify the logo file of the blocklet
"logo": "logo.svg",
// Can be starter|dapp|contract
"group": "starter",
// Can be primary|secondary|error
"color": "primary",
// provider information
"provider": "ArcBlock",
"documentation": "https://docs.arcblock.io",
"support": "support@arcblock.io",
"community": "https://gitter.im/arcblock/cummonity",
// Charge settings
"charging": {
"price": 10,
"receiver": "z1en6dudVmqsP1P2ZG1R8DdBZoYPnzw46T1",
},
// Can the blocklet be used with another blocklet?
"composable": false,
// Following fields can be inherited from package.json
"name": "forge-react-starter",
"version": "0.37.0",
"author": "wangshijun <shijun@arcblock.io> https://github.com/wangshijun",
"keywords": ["arcblock", "forge", "starter", "react", "javascript"],
"homepage": "https://github.com/ArcBlock/forge-dapp-starters/tree/master/packages/forge-react-starter",
"repository": {
"type": "git",
"url": "https://github.com/ArcBlock/forge-dapp-starters/tree/master/packages/forge-react-starter"
},
// Customize the install pipeline of the blocklet
"hooks": {
"pre-copy": "",
"post-copy": "",
"configure": "",
"complete": ""
},
"install-scripts": {
"dependency": ""
}
}主要情報:blocklet.md
Blocklet の詳細な紹介であり、利用を検討するユーザーに対して次の点を明確にします。
- インストール後に Blocklet で何ができるか。グループから推測できる場合でも、簡潔な説明を添える価値があります
- Blocklet を利用するための要件。ハードウェア、ソフトウェア、開発経験、スキルなど
- Blocklet の利用時に想定される問題と、その解決方法
主要情報:logo.png
Blocklet のロゴです。有効な画像形式を利用できますが PNG を推奨します。Blocklet の詳細ページに表示されるため、200px x 200px の透過画像にしてください。
主要情報:screenshots
screenshots フォルダーには Blocklet の出力を示す画像を数点入れ、ユーザーが Blocklet の内容を簡単に理解できるようにします。
その他の情報
処理中に実行されるスクリプトなどが含まれます。
メタ情報の解決
package.json で定義されたフィールドとの重複を避けるため、一部のフィールドは blocklet.json から省略できます。ビルド処理によってこれらのフィールドは適切に統合されます。
Blocklet を作成するには?
forge blocklet:create で Blocklet の設定を初期化します。この機能は近日中に forge-cli でサポートされる予定です。
- スターター Blocklet を作成するには?
- dApp Blocklet を作成するには?
- コントラクト Blocklet を作成するには?
Blocklet を公開するには?
- Blocklet を作成し、正しく動作することを確認します
- このリポジトリをフォークします
- 自分のリポジトリが含まれるように
registry.ymlを変更します - このリポジトリにプルリクエストを送ります
- プルリクエストが承認されマージされると、Blocklet が公式 Registry に掲載されます