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

ArcBlock、ABT Node バージョン 1.4.0 をリリース

Chen Lin (ArcBlock Engineer)
ABT NodeBlocklet Server

執筆:Chen Lin(ArcBlock エンジニア)

2 か月以上にわたる改善、322 件のコミット、19 回のマイナーイテレーションを経て、ABT Node バージョン 1.4.0 が 2021 年 7 月 14 日に正式リリースされました。

最新版を試すには、npm install -g @abtnode/cli を実行してください。

ABT Node バージョン 1.4.0 に含まれる主な新機能は次のとおりです。

  • Pass:Pass NFT を使って分散型アプリケーションにアクセス
  • Notification Service:Blocklet からウォレットへのリアルタイムメッセージ送信に対応
  • UI Optimization:Dashboard UI を大幅に最適化

上記の新機能を詳しく説明する前に、本記事に登場する各コンポーネントの役割をたとえで説明します。

  • ABT Node:各自が所有する携帯電話のようなものです。ABT Node の内部には Blocklet がインストールされ、各自の端末はその人だけのものです。ABT Node の所有者は自分のデータを完全に管理できます
  • Blocklet:各端末にインストールされるアプリケーションのようなものです。ABT Node が提供する DID ユーザー認証とブロックチェーン決済サービスを基盤に、開発者は強力な分散型アプリケーションを構築できます
  • DID Wallet:デジタル ID とデジタルアセットの管理を支援する分散型ソフトウェアです。ここでいうデジタルアセットには、Pass、NFT(チケット、引換券、証明書、暗号アート)が含まれます

Pass:Pass NFT を使って分散型アプリケーションにアクセス

現実世界では、さまざまな証明書で身元を示し、場所や用事、サービスへアクセスします。国への出入国にはパスポート、オフィスビルや会議室への出入りには社員証を使い、学生は学生証を使って割引サービスを利用します。

分散化された仮想世界でも、ABT Node はバッジに似た「Pass NFT」を使った分散型アプリケーションや分散型組織(DAO)へのアクセスに対応しています。

受け取った Pass は自分のウォレットに保存され、完全に自分のものとなります。

  • チーム内で Pass を管理
  • チーム内で信頼する Pass 発行者を設定
  • チームメンバーに Pass を発行
  • 受け取った Pass はウォレットに表示
  • アプリ接続時に Pass を提示して本人確認

Notification Service:Blocklet からウォレットへのリアルタイム通知とメッセージ送信に対応

通知は、注文の発送、落札、会員期限の接近などをユーザーに知らせ、あらゆるアプリケーションがユーザーとのつながりを保つために必要な基本機能です。

ABT Node は DID ベースの通知サービスを提供します。Blocklet 開発者は第三者サービスに依存せず、分散型の方法でユーザーの DID Wallet に通知を送信できます。

  • 分散型設計により、利用していない Blocklet がアカウントにスパムを送信することはできません。
  • テキストだけでなく、Pass、NFT、VC(Verifiable Credential)などの添付ファイルも送信できます。
  • 多言語でのメッセージ送信に対応します。

Blocklet の Notification Service を設定する

blocklet.yml 設定ファイルで Auth Service が有効になっていれば、Blocklet は Notification Service を利用できます。

interfaces:
  - type: web
    name: publicUrl
    path: /
    prefix: "*"
    port: BLOCKLET_PORT
    protocol: http
    services:
      - name: "@abtnode/auth-service"

Blocklet からウォレットへリアルタイム通知とメッセージを送信する

Blocklet SDK を使って通知を送信します。

javascript
const Notification = require("@blocklet/sdk/service/notification");

const userDid = "xxx"; // get user did from session or db

await Notification.sendToUser(userDid, {
  title: "hello world",
  body: "This is a message from blocklet",
});

UI Optimization:Dashboard UI を大幅に最適化

  • Dashboard のアプリマーケットページ UI を再設計し、Blocklet カードをすっきり表示
  • モバイル版 Dashboard の操作性を大幅に改善し、ほぼすべての主要操作をモバイルで実行可能に
  • チーム管理を単一ページから個別アプリに分割し、管理者によるアプリ管理を簡素化

その他

  • ダウンロード済み Blocket をキャッシュしてダウンロード速度を向上
  • Blocklet の名前、説明、秘密鍵のカスタマイズに対応
  • Composite Blocklet の AuthService 設定で親子を区別
  • Cluster Mode での Blocklet 実行に対応
  • Blocklet SDK に WalletAuthenticator を追加
  • ABT Node の初回起動時にプリインストール済み Blocklet を自動起動
  • ABT Node 内に EventBus サービスを追加し、EventBus を通じて子サービス間のメッセージをより迅速に同期
  • Node Launcher で作成された Node の場合、Dashboard に Launcher 情報を表示
  • ABT Wallet の名称を DID Wallet に変更
  • 安定性とパフォーマンスを向上する不具合修正

このページに関わるもの

製品

  • Blocklet Server superseded

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