作者: 舒适(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 云服务,适用于正规部署和运行一个节点。

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