跳到主要内容
ArcBlock Community

Blocklet Server v1.16.12 发布

shijun
公告

我们很高兴地宣布新版 Blocklet Server 的发布!后续 Blocklet Server 的发版公告我们会在这里公布,方便关注的同学了解进展。

Blocklet Server 是 ArcBlock 研发的去中心化应用底座,它不仅提供了应用的安装、配置、启停和组合功能,还提供了强大的基础服务,如用户和通行证管理。每个正式版都在性能、稳定性、扩展性和用户体验等方面相较于上个版本有了显著的改进。

新版有哪些变化

新功能和体验

支持应用级别多语言自定义,现在你可以在 Blocklet 的配置页面轻松调整应用的语言,我们提供了常见语言的内置选项供选择,并且大部分应用都已经进行了升级,以适应这一变化。

交互更加友好的存储标签页,我们全新设计了应用的存储标签页,你可以通过展示 NFT 链接多块 DID Space,就像给你的电脑插上多块外部硬盘一样,方便地切换备份空间并查看每个空间的备份记录:

Screenshot 2023-06-13 at 12.01.09.png

恢复应用时支持覆盖安装,如果你从 DID Space 恢复应用,现在可以直接覆盖安装。例如,在某些情况下,你可能需要在本地对线上服务进行升级,然后通过 DID Space 备份,并将其覆盖恢复到线上。

Screenshot 2023-06-13 at 12.22.28.png

支持应用内组件独立启动、停止和更新,在之前 Server 架构中,应用内组件时作为一个整体去操作的,要么全部启动,要么全部停止,如果其中1个有问题,整体也无法工作,新版中,每个组件都可以独立启动和停止,这样带给用户更大的灵活性。

Screenshot 2023-06-13 at 12.11.16.png

更快和更简单的应用启动流程,不管你是从自己的节点还是从 ArcBlock Launcher 启动应用,都能体验到更快、更简单的启动流程,我们去掉了不必要的钱包交互,只需要用户提供最小必要信息,我们也优化了启动过程的任务调度,使得整个流程更快更流畅。

问题修复和改进

除了上面的新功能,我们也修复了不少内部、外部用户反馈的问题,比如:

  • 修复 Android 钱包 Webview 中登陆失败的问题
  • 修复启动过程中设置 DNS 失败的问题
  • 修复全新用户登陆时会报错的问题
  • 在 blocklet connect 过程中打印出来 URL,方便开发者复制到浏览器访问

此外,我们也在不遗余力的改进工程质量,比如:

  • 把用来编写运行 E2E 测试的 Cypress 从 9 升级到 12,大大降低 CI 的执行时间,缩短开发者的 Feedback Loop
  • 升级并适量增加 ESLint 规则
  • 增加更多的单元测试,提高自动化测试的覆盖率

如何获得新版

如果您希望使用最新版的 Blocklet Server,请执行以下步骤:

  1. 通过运行命令 npm install -g @blocklet/cli 安装最新版。
  2. 直接启动服务,运行命令 blocklet server start

请注意,目前通过 Server Dashboard 进行升级的功能可能还存在稳定性问题,因此我们建议优先考虑使用命令行界面 (CLI) 进行升级操作。

我们将继续努力改进 Blocklet Server,并提供更多令人兴奋的功能和优化。感谢您对我们的支持和关注!

如果您有任何问题或反馈,请在技术支持板块反馈。

3 条回复

fatych3年前(edited)

有几个疑问:

  1. 升级后动报nginx相关错误,之前启动是不需要nginx

image.png

  1. 云服务器本身已经安装过nginx,配置下环境变量能识别nginx命令后,blocklet-server启动是可以识别到了,不过存在一个问题,nginx是需要额外安装模块的(--with-http_realip_module --with-stream)
  2. blocklet server start 启动成功后看到给出的url是云服务内网ip,对外是访问不了,是不是解析出公网ip合理点
  3. 本身我的nginx监听80端口,一级域名指向我的服务器ip,然后根据不同二级域名转发到不同端口,bolecklet-server启动时应该是换了nginx配置文件,导致我其他的域名访问代理失效,统一指向了节点首页
shijun3年前(edited)

升级后动报nginx相关错误,之前启动是不需要nginx

这个行为有些奇怪,了解下上下文,你之前启动节点的时候如果不是 nginx,监听在什么端口下?这次启动的时候 80/443 端口可用么?

云服务器本身已经安装过nginx,配置下环境变量能识别nginx命令后,blocklet-server启动是可以识别到了,不过存在一个问题,nginx是需要额外安装模块的(--with-http_realip_module --with-stream)

z1ahVgsBuHSyusJv5oNMqFPQLcktwA666K7 我们可以提供个简单的链接作为参考

blocklet server start 启动成功后看到给出的url是云服务内网ip,对外是访问不了,是不是解析出公网ip合理点

本身我的nginx监听80端口,一级域名指向我的服务器ip,然后根据不同二级域名转发到不同端口,bolecklet-server启动时应该是换了nginx配置文件,导致我其他的域名访问代理失效,统一指向了节点首页

如果你的云服务器确实有公网 IP,这里应该可以直接访问公网 IP,比如如果你的公网 IP 是 8.8.8.8,则下面的地址都应该可以访问到你的 Server:

注意第二个地址里面的连词符

fatych3年前(edited)

z1bz8Lxy1qei6pPvYFZMJfJM7Zj3egFWYNa

第一个问题:

之前启动blocklet server后应该默认使用了8080端口,没有强制要我用nginx ,虽然云服务也有安装着nginx(此时nginx还没有设置全局变量,nginx: command not found),但nginx用来解析某个域名指向本地8080端口(blocklet-server),我想这个操作,两个部件是解耦的,没有关联;

现在启动报如下图,可以看到关键字:Nginx is not detected, to have nginx installed you can checkout: https://nginx,org/en/docs/instal

应该是提示我需要nginx,之前提到我已经安装了nginx,应该是没识别到nginx命令行可用,设置了全局变量后,可以识别到我的nginx了,

然后启动blocklet server,提示我nginx已经在运行中了,我关了继续启动,提示我缺少一些模块,补充安装nginx模块,启动成功,不过nginx强制使用了blocklet下的某份配置,没使用到我自己本身之前的nginx配置

回复