免责声明:金色财经所有资讯仅代表作者个人观点,不构成任何投资理财建议。请确保访问网址为(jinse.cn) 举报

    ABT Node v1.2.0 正式发布

    作者: 王仕军(ArcBlock 高级工程师)

    在经历 239 个 Commit,17 个小版本迭代之后,功能更强大、性能更稳定、更安全可靠、用户体验更好的 ABT Node v1.2.0 正式发布了,欢迎大家升级试用!

    如果你之前启动过 ABT Node,可以直接在 ABT Node 的配置界面检查升级即可体验最新版。

    可能你会好奇,ABT Node v1.2.0 都包含了哪些特性?哪些改进?下面我们列出主要的变化和改进。

    Breaking Changes

    ABT Node v1.2.0 里面包含了下面的 Breaking Change

    • @abtnode/cli 安装后会产生两个全局的命令行工具 abtnode 和 blocklet,前者用来管理 ABT Node,后者用来操作 Blocklet

      • abtnode deploy 变成了 blocklet deploy

      • abtnode bundle 变成了 blocklet bundle

      • abtnode blocklet:* 变成了 blocklet *

    • ABT Node 默认的 Blocklet Registry 变更为 https://booster.registry.arcblock.io 新 Registry 启用了 AWS 的全球 CDN 加速,下载速度会更快

    Blocklet Registry

    为了更好的 Blocklet 开发工作流,我们设计和开发了去中心化的 Blocklet Registry,所有的官方 Blocklet 目前都发布到我们官方的 Blocklet Registry。新的 Blocklet Registry 已经具备如下的能力:

    • 验证 Blocklet 的元信息、发布版本信息、开发者信息、源代码压缩包

    • 存储并以 API 的形式提供自己 Host 的所有 Blocklet 信息,方便 ABT Node 检索和安装

    接下来我们会继续迭代 Blocklet Registry,使其支持经济模型里面的利益分配、支持 Blocklet Registry 之间的 Push 和 Pull。

    团队管理模块

    新版的 ABT Node 包含了更加完善且通用的团队管理功能:

    • 邀请其他用户加入,只需要创建邀请链接,受邀者通过 ABT Wallet 即可加入

    • 更加细粒度的成员管理功能,比如禁用、启用、更改角色,登录时间记录

    • Blocklet 享有和 ABT Node 完全相同但数据隔离的团队管理,无需自行开发

    team users

    权限管理模块

    在团队管理的基础上我们还增加了基于角色的权限控制,来提高 ABT Node 的安全性,这非常适合于需要多人来管理和运维一个 ABT Node 的情形。

    当然,这个功能对于 Blocklet 来说也是通用的,即运行在 ABT Node 里面的 Blocklet 天然就有了自己的权限控制模块。

    ABT Node 的默认权限和安全策略如下图:

    team rolesteam permissions

    Blocklet 服务

    在团队管理和权限管理的基础上,我们开发了第一个 Blocklet 服务:用户认证和鉴权服务(Auth Service),省去开发 Blocklet 过程中需要考虑的用户登录、授权等重复性的工作,这个功能包含两部分:

    • 用户认证:通过 DID 登录来验证用户身份,不同 Blocklet 的用户数据完全隔离,并且能通过团队功能来管理 Blocklet 自己的用户

    • 用户鉴权:通过权限控制模块来管理用户权限,验证用户的权限,实现比较安全的访问控制

    当然,对所有的新功能我们都会吃自己的狗粮,目前官方 Blocklet 中需要登录和鉴权的已经全部切换到为 ABT Node 提供的服务。

    启用了 Auth 服务的 Blocklet 安装后会是下面的样子:

    blocklet auth

    如果你想亲自体验启用了 Auth 服务的 Blocklet,可以安装 Auth Demo 或者 Kitchen Sink,如果你想在自己的 Blocklet 中使用 Auth 服务,敬请期待即将发布的文档。

    接下来我们会设计并提供更多的 Blocklet 服务(比如基于 Crypto 的支付)来简化 Blocklet 的开发,让 ABT Node 成为真正意义上的 DApp 操作系统。

    其他值得注意的改进

    除了上面列出来的大块功能之外,下面这些小改进也值得关注和尝试:

    • WEB Wallet 支持:新版的 ABT Node 能无缝的和 ABT Wallet Web 版本一起工作,包括声明节点、登录

    • 支持从文件系统安装 Blocklet:作为从 Blocklet Registry 安装补充,从 URL 安装的功能目前支持 http/https/file 三种协议

    • 支持取消等待中的安装任务:之前的版本只能取消下载中的安装

    • 动态调整的安装和启动队列并发数:新版 ABT Node 会根据宿主机的性能动态调整 Blocklet 安装和启动两个任务队列的并发数

    • 支持 Blocklet Requirements:开发者在 blocklet.yml 中可以声明 Blocklet 的运行环境,比如 ABT Node 的版本、操作系统、CPU 架构

    • 支持查看 Routing Engine 的日志:方便查看经由路由引擎的流量、日志

    软件质量提升

    从技术预览版到 v1.2.0,ABT Node 已经演化成包括 11W+ 行代码、20+ 子模块的项目,sloc 的统计结果如下:

    sloc

    为了确保 ABT Node 的可靠和稳定,我们在 CI 流程里面增加了代码覆盖率统计,要求每个 PR 不管新增还是重构不能降低整体的代码覆盖率,在两个月的时间内,整个项目的代码覆盖率从 25.2% 提升到 61.1%,且还在持续改进。

    下面是 CodeCov 的最近 90 天的覆盖率变化趋势:

    coverage

    此外,为了提高工程师的效率,我们的 CI 流程全面从 Travis 切换到了 Github Actions,因为后者有更快的执行速度。

    欢迎试用反馈

    以上,欢迎试用新版,并到这里给我们提建议!

    jinse.cn 5
    好文章,需要你的鼓励
    jinse.cn 5
    好文章,需要你的鼓励
    参与评论
    0/140
    提交评论
    文章作者: / 责任编辑:

    声明:本文由入驻金色财经的作者撰写,观点仅代表作者本人,绝不代表金色财经赞同其观点或证实其描述。

    提示:投资有风险,入市须谨慎。本资讯不作为投资理财建议。

    金色财经 > ArcBlock区块基石 > ABT Node v1.2.0 正式发布
    • 寻求报道
    • 金色财经中国版App下载
      金色财经APP
      iOS & Android
    • 加入社群
      Telegram
    • 意见反馈
    • 返回顶部
    • 返回底部