作者:林晨(ArcBlock 工程师)

经过两个多月的打磨、322 次提交和 19 个小版本迭代,ABT Node 1.4.0 版于 2021 年 7 月 14 日正式发布。

如想试用最新版,可以运行 npm install -g @abtnode/cli 获取。

ABT Node 1.4.0 版包含如下几个重要的新功能:

  • 通行证: 使用通行证 NFT 访问去中心化应用
  • 消息推送服务: 支持 Blocklet 向钱包发送实时消息
  • UI 优化: 大幅优化 Dashboard UI

在详细介绍上面两个新特性之前,首先通过类比来解释本文涉及的各个部件的作用:

  • ABT Node:好比每个人自己拥有的手机,只不过 ABT Node 里面安装的是 Blocklet,每个人的手机只属于自己,ABT Node 的所有者对自己的数据也有完全的控制权
  • Blocklet:好比安装在每个手机里面的应用,基于 ABT Node 提供的 DID 用户认证、区块链支付服务,开发者可以构建强大但足够去中心化的应用
  • DID Wallet:帮助用户管理数字身份、数字资产的去中心化的软件。这里的数字资产包括通证、NFT(票、券、证书、加密艺术品)

通行证: 使用通行证 NFT 访问去中心化应用

在现实世界中,我们会使用各种证件来表明我们的身份,进而出入各个场所,办理各个事项,享受各种服务。我们凭借护照进出各个国家,我们凭借员工卡进出各个办公楼和会议室,学生们使用学生证享受各种优惠服务。

在去中心化的虚拟世界中,ABT Node 同样支持了使用和证件类似的 “通行证 NFT” 来访问各个去中心化应用,进出各个去中心化组织(DAO)。

领取了通行证后,通行证会存储在我们自己的钱包里,完全属于我们自己。

  • 在团队中管理通行证 passport1
  • 在团队中设置信任的通行证颁发者 passport2
  • 在团队中为成员颁发通行证 passport3
  • 领取通行证后,通行证会出现在我们的钱包中 passport4
  • 连接到应用时,提供通行证以确认身份 passport5

消息推送服务: 支持 Blocklet 向钱包发送实时通知和消息

消息推送功能是每个应用都需要的基础功能之一,应用通过消息推送功能和用户保持连接,比如通知用户订单已发货,拍卖已成交,会员资格快到期等等。

ABT Node 提供了基于 DID 的消息推送服务,能够以去中心化的方式让 Blocklet 开发者在不依赖于任何第三方服务的情况下给用户的 DID 钱包发送通知。

  • 去中心化的设计使得没有使用过的 Blocklet 无法给你的账号发送大量的发送垃圾信息。
  • 发送的消息不仅支持文本,还可以携带附件,比如通证、NFT 以及 VC(可验证证书)。
  • 支持发送多语言的消息。

为 Blocklet 配置消息推送服务

blocklet.yml 配置文件中显示启用 auth service(验证服务)后,Blocklet 就可以使用消息推送服务了。

Blocklet 向钱包发送实时通知和消息

使用 Blocklet SDK 来完成通知的发送

UI 优化: 大幅优化 Dashboard UI

  • 重新设计 Dashboard 应用市场页面 UI,更加简洁的 Blocklet 卡片 marketplace
  • 大幅优化 Dashboard 在移动端的体验,几乎所有的关键操作都可以在移动端完成 mobile
  • 将团队管理从统一页面拆分到各个应用中,使管理员可以更加便利的管理应用 team

其他

  • 对下载过的 Blocket 进行缓存,以提升下载速度
  • 支持自定义 Blocklet 的名称、描述和私钥
  • Composite Blocklet 支持区分 parent 和 child 的 AuthService 配置
  • 支持以 cluster 模式运行 Blocklet
  • Blocklet SDK 中增加 WalletAuthenticator
  • ABT 节点支持首次启动时直接自动启动预安装的 Blocklet
  • ABT 节点内部增加 EventBus 服务, 子服务间通过 EventBus 更加及时的的进行消息同步
  • 如果节点是由 Node Launcher 创建的,在 Dashboard 中可以看到 launcher 的信息
  • 将 ABT Wallet 改为 DID Wallet
  • 部分 Bug 修复以提升稳定性和性能