メインコンテンツへスキップ

レゴストアでのお買い物:分散型アプリケーション開発への興味深い旅

Moon Cao( UX designer of ArcBlock)
ABT NodeArcBlockBlockletBlocklet ServerDappsUX

著者: Moon Cao(ArcBlock の UX デザイナー)

この記事では、身近なたとえを通して、ArcBlock が分散型アプリケーション(DApp)開発のために用意した、すぐに使えるツールと、その使い方、ツール同士の関係を紹介します。

ArcBlock プラットフォーム上での分散型アプリケーション開発は、レゴの体験にたとえるのが最もしっくりきます。そこで、レゴストアでの買い物から旅を始めましょう……

まず目に飛び込んでくるのは、ショーウィンドウに飾られた印象的なレゴの完成モデルです。ブロックの構造はとてもシンプルで、組み立てや分解に高度な技術が必要ないことは誰もが知っています。だからこそ、ブロックだけで作られた精巧なモデルを見ると、自分でも作ってみたくなるのです。

完成した製品がどのようなものか、 ArcBlock のウェブサイト でアプリケーションのサンプルをご覧いただけます。少し技術があれば、ここで簡単にアプリケーションを組み立てることもできます。

LEGO

店内に入ると、棚には DIY 用の半完成レゴセットが数多く並んでいます。クールなトイ・ストーリー、不思議な魔法の世界、ピンク色のお姫様のお城など、さまざまなセットがあります。購入すれば、パッケージ写真のモデルと同じものを作れます。箱の中には通常、必要なブロック、床板、キャラクター、説明書が入っています。

説明書どおりに作るのが好きな人もいれば、自分なりの工夫を加えるのが好きな人もいます。千人の読者がいれば、千通りのハムレットがあるのです。

ブロック

店内には、色や形の異なるブロックやキャラクターを自由に選べるコーナーもあります。上級者ならセットの制約に縛られず、自分でモデルを設計して組み立てられるため、非常に自由です。

私たちは、アイデアを持つ開発者が必要な Blocklet を設計・開発し、独自のアプリケーションコンポーネントを作成できるよう支援しています。

LEGO

コンポーネント

このほかにも、店内には車や建物、木など、レゴブロックで作られた特別な作品があります。それ自体を完成品と見ることも、大きな基礎板の上に組み込んで別の完成品の一部にすることもできます。

私たちの blocklet にも、コンポーネントと同じ特徴があります。1 つの Blocklet がそのままアプリケーションになることもあれば、開発者がフレームワークに組み込んだり、ほかの blocklet と組み合わせたりして、新しいアプリケーションを作ることもできます。

フレームワーク

レゴストアでは、車の土台や回転する車輪など、特定の用途に合わせたレゴブロックも提供しています。そこに好みのブロックを選んで、車を飾ることができます。

私たちは、特定のニーズに応える Blocklet Framework と、そのフレームワークに組み込める複数の blocklet を提供しています。ユーザーは好みに応じて自由に選べます。

LEGO

プロトコル

ここで、すべてのレゴブロックに共通する特徴について触れるのを忘れるところでした。レゴブロックには凹凸があり、互いにしっかり組み合わせられます。これは重要な特徴です。ファンの間にはほかにも風変わりな接続方法がありますが、どれも主流ではありません。

私たちの blocklet も、統一されたプロトコルによって互いに連携します。このプロトコルにより、blocklet は緊密に協調して動作し、組み立てや分解も可能になります。

ABT Node

レゴブロックについて説明したので、もう一つの重要なレゴパーツである基礎板にも触れましょう。大きな基礎板には、家や車、人など、すべてを載せることができます。さまざまなサイズや色の基礎板から好きなものを選び、ショッピングカートに入れられます。

すべてのアプリケーションには、それらを載せる「レゴの基礎板」が必要です。私たちの ABT Node が、まさにその基礎板です。どの blocklet も、利用するには ABT Node 上で動作させる必要があります。

インストール

これでレゴストアでの買い物は終わり、欲しいものはすべてショッピングカートに入りました。会計を済ませて家に帰り、さっそく作り始めましょう。テーマセットや残りのパーツを箱から出して組み立てます。

必要な blocklet と ABT Node サービスを選択したら、ArcBlock プラットフォーム上で ABT トークンを支払うことができます。購入が完了すると、アプリケーションは自動的にインストールされます。最後にドメイン名をバインドしてノードに接続すれば、自分専用の Dapp インスタンスが完成します。

まとめ

最後に、全体を振り返ってみましょう。

LEGO

注:写真の一部はインターネットから引用しています。権利侵害がある場合は、削除いたしますのでご連絡ください。

このページに関わるもの

製品

  • Blocklet Server superseded

    blocklet をサブプロセスとしてホストしていたサーバー。その作業は ARC で続いており、サブプロセスによるホスティングという方式は引き継がれません。

用語

  • Blocklet

    Blocklet は ARC の deployable unit です。アプリケーションが宣言する content、configuration、runtime の要件を一緒に保ち、実行する単位を理解し管理しやすくします。

  • Dapp

    重要な状態が単一の運営者のデータベースだけに存在しないアプリケーション。何をもって分散とするかはプロジェクトごとに大きく異なるため、有用な問いは「どの部分が外部の人に検証できるか」です。