ABT 节点入门官方指南

ABT 节点 1.0 于 2020 年 9 月 1 日正式发布[1]。开发者如何上手入门 ABT 节点,请看此文。
什么是 ABT 节点?
ABT 节点是基于 Web 的 Blocklet(基石程序)平台,用户可以通过浏览器在其中安装、卸载、升级、降级和运行静态和动态 Blocklet。
登录界面

ABT 节点的登录界面由 登录二维码 和 ABT 钱包下载按钮组成,用户可以使用初始化完毕的 ABT 钱包扫描 登录二维码 完成登录请求。

仪表盘页面
ABT 节点仪表盘页面展示了节点当前的状态以及节点的一些属性,比如:存储使用、更新时间、节点 DID、节点拥有者 DID 等信息。

Blocklet
Blocklet 是可以独立运行的或者依赖其他的 Blocklet 执行的程序。它的数据是单独存储的。用户可以在删除一个 Blocklet 的时候保留它的数据,这样下次再安装可以不需要重新配置。
Blocklet 市场
Blocklet 市场提供了 Blocklet 的安装、卸载、升级等功能。并且这个市场的数据源是支持自定义的。默认情况下会使用 ArcBlock 提供的 Blocklet 市场。

管理已安装的 Blocklet
Blocklet 页面由已安装的 Blocklet 列表组成,在这里可以完成已安装 Blocklet 的启动、停止、重启、删除等操作。

服务网关
ABT 节点支持使用引擎为 Blocklet 分配子访问路径的能力,目前唯一支持的引擎是 Nginx。

如何获取 ABT 节点?
目前,只能在 Linux[2] 和 macOS[3] 安装。如果你想使用别的操作系统比如 Windows,你可以使用虚拟机,不过需要确保 ABT 钱包可以访问到你的虚拟机 IP 地址。
第一步: 安装 nvm[4]
执行下面命令,即可安装 nvm[5]:
/bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh)”
输出示例

注意:你也可以使用下面这两个命令,不过这两个命令都只能被特定的操作系统使用(点击展开查看)。
第二步: 安装 Node.js[8] 和 npm[9]
获取 Node.js[10] 最新长期支持版本,使用这个命令(你也可以使用这个命令列出所有的版本 nvm ls-remote):
nvm ls-remote | grep ‘Latest LTS’
输出示例

本文撰写时,最新的长期支持版本号是 v12.18.3。
然后,只要安装完 Node.js[11],npm[12] 也会被自动安装完成。
nvm install v12.18.3
输出示例

注意:你可以通过运行命令 nvm install-latest-npm 安装最新的 Node.js[13]
第三步: 安装 ABT 节点
现在,使用 npm[14] 执行下面命令即可安装 ABT 节点:
npm install -g @abtnode/cli

第四步: 安装并初始化 ABT 钱包
从 ABT 钱包官网[15] 找到下载入口完成 ABT 钱包的安装。然后打开钱包跟随钱包指引完成钱包的初始化。
第五步: 安装一个 IDE
如果你准备创建自己的 Blocklet,我们推荐您先安装一个 IDE。我们推荐安装主流的 IDE 是:VSCode[16]
配置并启动 ABT 节点
要使您的 ABT 节点启动并运行,您必须对其进行初始化。在初始化节点之前,请确保已经初始化了节点连接到您希望节点所在的网络。如果希望您的节点可以通过 Internet 访问,请确保你连上了互联网。如果使用了虚拟机,请使用桥接网络适配器 (如果端口转发被启用 NAT 网络适配器也可以工作) 或附加一个外部无线卡到虚拟机。
另外,如果您已经初始化了 ABT 节点,你可以用 abtnode start 开始您的节点,或者您可以重新初始化 ABT 节点,通过删除配置文件 (如果数据使用默认值目录和配置文件则使用 rm /r /f ~/.abtnode* 即可)。
运行下面的命令即可初始化 ABT 节点:
abtnode init
然后,填充每个字段(或留空,默认为带括号的值)。当你选择 IP 地址时,如果只是在局域网测试节点,请使用本地 IP 地址,或者如果您希望您的节点可以通过 Internet 访问, 请选择公共 IP 地址。
输出示例

现在,您需要启动节点才能使用它。要启动您的节点,运行以下命令:
abtnode start
输出示例

然后,在浏览器中打开输出链接。浏览器可以在其他设备上,只要该设备是打开的可以连接到节点。然后用您的 ABT 钱包扫描登录二维码,使您成为该节点的所有者请确认进入 ABT 节点。
如果您想要停止节点,运行以下命令:
abtnode stop
输出示例

节点功能概览
跟随上面的步骤,我们已经完成了 ABT 节点的获取,安装,配置和运行操作,下面我们来整体看一下 ABT 节点有哪些功能吧。
仪表盘

ABT 节点状态属性的仪表盘。
市场

ABT 节点 Blocklet 市场,用户可以在这个页面寻找可安装的 Blocklet。
基石程序

ABT 节点已安装的 Blocklet 列表。
服务网关

ABT 节点的服务网关配置。详细功能请前往:服务网关管理[17]
配置

ABT 节点配置功能。详细功能请前往:其他功能[18]
试验台

ABT 节点提供的 GraphQL 试验台功能页面。详情请前往:GraphQL 试验台[19]
点击此处[20],查看 ABT 节点文档。
References
[1] 正式发布: https://www.arcblock.io/zh/post/2020/09/01/arcblock-releases-abt-node
[2] Linux: https://www.linux.org
[3] macOS: https://www.apple.com/macos
[4] nvm: https://github.com/nvm-sh/nvm
[5] nvm: https://github.com/nvm-sh/nvm
[6] macOS: https://www.apple.com/macos
[7] Linux: https://www.linux.org
[8] Node.js: https://nodejs.org
[9] npm: https://www.npmjs.com
[10] Node.js: https://nodejs.org
[11] Node.js: https://nodejs.org
[12] npm: https://www.npmjs.com
[13] Node.js: https://nodejs.org
[14] npm: https://www.npmjs.com
[15] ABT 钱包官网: http://abtwallet.io
[16] VSCode: https://code.visualstudio.com
[17] 服务网关管理: https://docs.arcblock.io/zh/abtnode/router
[18] 其他功能: https://docs.arcblock.io/zh/abtnode/misc
[19] GraphQL 试验台: https://docs.arcblock.io/zh/abtnode/misc/graphql-console
[20] 此处: https://docs.arcblock.io/zh/abtnode/