作者: 舒适(ArcBlock 数据工程师)

上周 ArcBlock 发布了Forge SDK,旨在为开发者提供业内最佳区块链应用开发工具。从此为 ABT 链网开发新应用将变得前所未有地容易,而这一片应用森林的基础是 ABT 链节点。

cover

作为 ABT 链网的基本单位,ABT 链节点拥有极其强大的功能,并自带许多专为开发者设计的工具。而了解 ABT 链节点其实很简单,接下来我们介绍 ABT 链节点五步速成发。了解这五步之后,大家可以下载并并运行自己的 ABT 链节点,并在上面自由发挥。

第一步:了解什么是 ABT 链节点?

要弄清楚 ABT 链节点是什么,我们首先要知道 ABT 链是什么。ABT 链指的是构建于 ArcBlock 生态体系内的区块链。无数条 ABT 链共同构成了 ABT 链网,而每一条 ABT 链又由多个 ABT 链节点组成。可以说,ABT 链节点,是整个 ABT 链网中的最小单位。

众所周知,在比特币上,每一个比特币节点都存有整条比特币链的数据;而在 ABT 链上,每一个 ABT 链节点也存储着完整的 ABT 链数据。一个完全同步好的 ABT 链节点上,记录着这条链自诞生以来发生过的所有活动。而通过 ABT 链节点,开发者可以随意取用这些数据。在搭建区块链和去中心化应用时,ABT 链节点将为开发者提供强大助力,是 ArcBlock 平台不可或缺的一部分。

下图解析了 ABT 链节点是如何与 Forge SDK 强强联合,让开发者在为 ABT 链网增加新应用的时候,可以事半功倍。

graphic03 chn

第二步:ABT 链节点由哪些部分构成?

大致了解 ABT 链节点是什么,以及它的主要功能之后,我们来进一步解析 ABT 链节点的构成。了解 ABT 链节点的主要构成,最简单的方法是在 ABT 链节点成功运行后,看左侧的菜单栏。

dashboard chn

这里会显示链节点的主要构成部分:控制面板(Dashboard),节点管理(Node Management)和开发者工具(Developer Tools):

  • 控制面板(Dashboard):链上数据的概括,以及节点运行健康状况的总结
  • 节点管理(Node Management):

    • 区块搜索(Block Explorer):用来迅速搜索所有链上交易和区块信息的工具。可以查询到所有已经产生的交易和区块信息。开发者也可以点击 ​这里 查看完整的 ABT 链网信息。
    • 已连节点 (Connected Peers):与本链节点连接上的其他节点。作为 ABT 链上的一环,ABT 链节点需要从其他节点处同步数据。 这幅地图上标注出了其他与本链节点连接着的节点位置。
  • 开发者工具(Developer Tools):一系列帮助开发者提高开发效率的工具。开发者可以使用这些工具排除开发过程中的疑难杂症,模拟交易活动,测试在不同场景下去中心化身份DID的使用情况, 以及使用 GraphQl 查询链上数据。更多关于 GraphQL 的信息可以参考这里

第三步: 如何使用控制面板(Dashboard)

每一次打开 ABT 链节点时,默认界面就是控制面板(Dashboard),上面展示着当前的节点运行情况。了解好控制面板的各个组件及其含义,是顺利使用 ABT 链节点的第一步。

以下是控制面板组成部分的简介:

  • 节点健康状况(Node Health Status): 通过把鼠标悬浮在不同的层级(layer)上,开发者可以获得关于该层级(layer)运行状况的详细信息
  • 节点信息概况(Node Info Summary):关于该节点上数据信息的介绍
  • 交易(Transactions):展示该节点上各种交易体量根据时间的变化
  • 用户排行榜(Top Accounts): 根据账户余额,显示链上的用户信息
  • 验证节点排行榜(Top Validators):链上的验证节点排行榜

abt node dashboard

第四步:如何查询链上数据?

数据是 ABT 链节点的核心。之前提到过,每一个 ABT 链节点上都存储了完整的链上数据。通过这些数据,开发者可以进行各种各样的研究,比如:这笔钱是谁转到我的账户里的,哪一个账户是今天最活跃的账户,这条链上出现频率最高的是哪一种交易类型,等等。因此,了解如何查询链上数据有助于开发者最大化 ABT 链节点的功能。

ABT 链节点提供了两种查询数据的方式:区块查询(Block Explorer)和开发者工具(Developer Tools)。开发者可以根据不同的情境和需求,决定选用哪一种工具。

查询方式优势劣势
区块查询(Block Explorer)方便快捷,类似于传统搜索引擎。输入需要查询的哈希或账户地址即可获得完整信息灵活度低,查询对象范围小,仅限于交易,账户,和区块
开发者工具(Developer Tools)灵活度高,可以自由组合查询条件和返回结果需要掌握基本的 GraphQL 知识,有一定使用门槛

开发者工具(Developer Tools)使用 GraphQL 进行的所有查询使用的都是 ArcBlock开放链访问协议(OCAP)提供的 API,所以 ABT 链节点上的 GraphQL 查询界面和OCAP Playground十分相似。开发者在 Playground 上可以查询比特币和以太坊的数据,在 ABT 链节点上也可以使用相似的逻辑对 ABT 链数据进行查询和分析。

ABT 链网上的所有链都遵循开放链访问协议(OCAP),因此使用同一套系统不仅可以查询 ABT 链网上的所有链数据,更可以查到所有遵循 OCAP 的公链(如比特币和以太坊)和私链数据,实现真正的 “织链为网,万链互联”。

第五步: 如何运行一个你自己的 ABT 链节点?

看到这里,相信大家已经跃跃欲试了。金节点,银节点,不如自己家的链节点。

目前有三种方法运行链节点:

  • 使用 ABT 链节点桌面版: 三种方法中最简单的一种。流程类似于下载传统应用,适用于新手用户或没有太强技术背景的用户快速体验和评估。
  • 使用Forge SDK CLI 工具:命令行工具,比桌面版稍微要求更多的技术背景,但也提供了更多运行 ABT 链节点的个性化选择。几条命令,大家就可以更深入体验 ABT 链节点的强大功能。
  • Azure上部署一个节点:使用了微软的 Azure 云服务,适用于正规部署和运行一个节点。

三种方式都非常简单易行,大家可以根据自身情况和使用习惯,决定采用哪一种方式。