跳到主要內容

ArcBlock 發布 ABT Node 1.4.0 版

Chen Lin (ArcBlock Engineer)
ABT NodeBlocklet Server

作者:Chen Lin(ArcBlock 工程師)

歷經兩個多月的打磨、322 次 commit 及 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:協助使用者管理數位身分與數位資產的去中心化軟體。此處的數位資產包括 Pass、NFT(門票、兌換券、憑證、加密藝術品)

Pass:使用 Pass NFT 存取去中心化應用程式

在現實世界中,我們使用各種證件識別身分,進而進出不同場所、辦理事務及使用服務。我們以護照進出國境、以員工證進出辦公大樓及會議室,學生則以學生證享有優惠服務。

在去中心化的虛擬世界中,ABT Node 同樣支援使用類似徽章的「Pass NFT」,存取去中心化應用程式與去中心化組織(DAO)。

收到 Pass 後,它會儲存在自己的錢包中,完全由自己擁有。

  • 在團隊中管理 Pass
  • 在團隊中設定受信任的 Pass 發行者
  • 為團隊成員發行 Pass
  • 收到 Pass 後,Pass 會出現在錢包中
  • 連線至應用程式時,提供 Pass 以確認身分

Notification Service:支援 Blocklet 即時傳送通知與訊息至錢包

通知是每個應用程式與使用者保持聯繫所需的基本功能,例如通知訂單已出貨、拍賣品已售出或會員資格即將到期等。

ABT Node 提供以 DID 為基礎的通知服務,讓 Blocklet 開發者不必依賴任何第三方服務,即可以去中心化方式向使用者的 DID Wallet 傳送通知。

  • 去中心化設計可避免未使用的 Blocklet 向您的帳戶傳送垃圾訊息。
  • 傳送的訊息不只支援文字,也能附加 Pass、NFT 及 VC(可驗證憑證)等附件。
  • 支援以多種語言傳送訊息。

為 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 是由 Node Launcher 建立,可在 Dashboard 查看 Launcher 資訊
  • 將 ABT Wallet 更名為 DID Wallet
  • 修正部分錯誤,提升穩定性與效能

本頁涉及

產品

  • Blocklet Server superseded

    把 blocklet 作為子行程託管的伺服器。這項工作在 ARC 裡繼續;子行程託管這個模型不再往下走。