CENNZnet.io的高级功能指南

Cathy Breed
CENNZnet
Published in
9 min readMar 23, 2021

CENNZnet.io 不仅是我们的网站,还是一个可以与 CENNZnet 上的区块链网络进行交互的钱包。在本文中,我们将专门研究Web Portal 中的高级功能。这些高级功能将会对基于 CENNZnet 的 DApp 开发人员比较有帮助。

建议您可以在浏览本文之前,先熟悉 CENNZnet.io 的基础知识,您可以点击此处的 CENNZnet.io入门指南进行学习。

本文将指导您学习 cennznet.io 的高级板块中提供的所有功能。具体包括:

· 开发说明:解释交易费(gas fees)的定义与如何连接到开发节点。

· 链上状态:从链中读取数据,包括存储项目、常量和原始存储。

· 交易:如何提交交易以修改链上的数据

· Sudo:提交需要超级用户访问权限的交易数据。 (仅适用于开发节点)

· 设置:cennznet.io 的相关设置

· 工具箱:帮助开发人员的其他相关功能

· JavaScript:使用 CENNZnet JavaScript API和代码示例。

· Wiki:链接 Github 上托管的 CENNZnet 技术文档。

写在开始之前:开发说明

在浏览 cennznet.io 的 Advanced (高级)区域中的每个页面之前,需要开发人员注意两件事:交易费(Gas fees)和开发节点的连接。

1.交易费(Gas fees)

当您请求在区块链上进行操作时,可能需要支付一定的费用。该费用称为交易费。

在 CENNZnet 中,从存储中读取数据是免费的,而写入存储数据库则是收费的。在 CENNZnet 中,交易费以 CPAY 货币支付,这是我们双重代币经济的一部分。您可以在此处详细了解该系统的工作原理

为了避免在开发过程中支付交易费,您可以使用开发节点。可以在本文的“连接开发节点”章节找到设置开发节点的相关说明。

2.连接开发节点

一个开发节点附带拥有数十亿 CENNZ 和 CPAY 的测试帐户。这使您没有实际花费即可测试 DApp。

默认情况下,cennznet.io 将连接到 MainNet,即名为 Azalea 的CENNZnet区块链。要使用开发节点,首先您需要完成以下步骤:

1.启动开发节点

· 安装Docker

· 使用 docker 命令运行开发节点:

docker run -p 9944:9944 -it — rm cennznet/cennznet:1.2.2 — dev — ws-external

2.将 cennznet.io 连接到本地开发节点

· 导航到高级->设置

· 从第一个下拉菜单中选择“本地节点”

· 点击“保存并重新加载”

链上状态

链上状态页面允许您使用 RPC(远程过程调用)从链中读取数据。链上状态页面中的操作不收交易费的。

您可以查询 3 种类型的链上状态,这些状态可以在屏幕顶部的标签中看到:

1. 存储:查询在运行时模块中定义的存储项。

2. 常量:查询在运行时模块中定义的常量和变量。

3. 原始存储:直接从区块链的核心数据存储中查询。

存储

在“存储”选项中,可以通过以下方式订阅查询存储:通过从下拉菜单中选择查询和参数,然后单击屏幕右侧的蓝色“ +”按钮。

单击“ +”按钮后,下拉菜单下方将出现一个条目。此项显示您查询并实时更新的数值。

您可以订阅任意数量的选项。要取消订阅或删除该选项,请单击所需查询旁边的橙色“ x”按钮。

用例示范

存储查询功能的一个可能范例是检查 Charlie 上的 CENNZ 余额:

· 选择 genericAsset 和 freeBalance

· 在 AssetId 中,键入“ 16000”,这是开发链中 CENNZ 的 AssetID

· 选择 FERDIE 作为 AccountId

· 然后按 PLUS 按钮

注意:可以使用 RPC 方法,来获取代币类型的 AssetID

genericAsset.registeredAssets() 本文的“ RPC调用”部分中提供了有关使用 RPC 方法的说明。

存储方法参考

要了解有关可用存储方法的更多信息,请点击此处的GitHub链接

常量

此选项的工作方式与“存储”完全相同。唯一的区别是,存储链选项中查询的值会随着链上事物的变化而更新,而无论链上发生了什么,常量页面上查询的值将始终相同。

原始存储

CENNZnet 有一个核心数据存储,这是实现可以支持数据库功能并且修改过后的 Merkle 树区块链的永久存储。这为区块链提供了快速的数据插入和检索途径。原始存储选项可以让你直接查询存储的数据。

“存储”选项公开是此核心数据存储之上的抽象层。通常,“存储”和“常量”选项足以满足您作为 DApp 开发人员的日常需求。

在某些极端情况下,“原始存储”标签可能会很有用,在这种情况下,您知道 API 缺少的某项的密钥,例如,当删除运行时模块时,它仍然在链上存储了数据

点击此处了解更多

交易参数(只有在 CENNZnet 上设置帐户后才能看到)

交易参数是指在区块链外部的块它们内部所承载的数据;这意味着它不用于支持区块链的功能。交易参数方法是运行时还可以修改外部数据的有效方法。

外部页面公开了 CENNZnet 中运行时模块的所有外部方法。这使您可以提交交易以修改链上的数据。当然提交交易会产生交易费。

要调用外部方法,首先要选择用于调用它的帐户,要调用的模块和方法,并在需要时指定参数。

注意:此页面上可用的某些方法对主帐户具有权限限制。例如,只有具有 sudo访问权限时,才能成功调用 rewards-> setInflationRate.

交易参数方法参考

要了解有关潜在交易参数的更多信息,请在点击此处链接跳转GitHub页面。

Sudo(仅在开发节点上可用)

Sudo 页面公开的方法与外部方法相同。但是,通过从此页面进入的话,您将以超级用户身份进行操作,这意味着您拥有更多权限。

注意:这种高级工具仅在开发自定义链时才需要。它可以让您在链上执行相应的操作,例如运行时升级。

设置

设置页面包括两个标签:

· 常规:提供对 cennznet.io 设置的访问权限。

· Developer:一种用于处理自定义链的高级工具。这使您可以向 cennznet.io 公开其他类型,以便 cennznet.io 可以对这些类型的链进行编码和解码。

详细说明可在帮助菜单中找到,单击“?”按钮即可打开。

工具箱

“工具箱”页面提供以下帮助功能:

· RPC 调用:访问 CENNZnet API 公开的所有 RPC。

· 哈希数据:获取给定文本的 Blake2 哈希

· 签名消息:获取由您的一个帐户提供的数据签名。

· 验证签名:验证给定的数据和帐户是否已经签名

RPC 调用

RPC 调用使您可以与节点进行交互来查询、提交或检索链的信息。 一些 RPC 调用还允许节点操作员执行简单的管理任务。

例如,您还可以阅读特定节点的信息:待处理的交易,客户端版本。 您还可以检索需要按节点计算的值,例如 CENNZX 买卖价格。

用法示例

获取资产 ID:

· 选择 genericAsset 和 registeredAssets()

· 按 Submit RPC 调用

· AssetID 作为密钥显示在返回的核心数据对中。

RPC 方法参考

要了解有关潜在 RPC 方法的更多信息,请在此处点击链接的GitHub页面

哈希数据

哈希数据是一种加密实用程序,可为您提供给定文本的 Blake2b 哈希。 Blake2b 是在 CENNZnet 使用的非常快速的加密哈希函数。

签名信息

通过此选项,您可以使用自己的帐户为给定的数据集生成签名。

验证签名

此选项使您可以验证帐户是否已签名。 例如,您可以检查交易签名是否由帐户完成签名。

您可以从通讯录中选择一个帐户,也可以将该地址粘贴到第一个下拉菜单中。

Javascript

Javascript 页面是尝试 CENNZnet API 的好方法。

在这里,您可以从下拉菜单中选择一个代码示例,根据需要进行更改,然后通过按下文本编辑器右上角的播放按钮来执行代码。 控制台日志将显示在右侧。

这有四种类型的代码示例:

· RPC:演示如何通过 API 使用 RPC 方法。 此项使用“ api.rpc ”方法。

· 存储:演示如何在不执行计算的情况下查询运行时模块的存储。 此项使用`api.query`方法,例如 api.query.genericAsset.freeBalance()。

· Const:演示如何通过 API 访问常量。

· 外部:演示如何通过 API 使用外部方法。

有关 API 方法的技术参考,详见 Wiki。

Github

Github 按钮可将您带到我们 Javascript API 的 Github 存储库。

Wiki

Wiki按钮可帮助您链接到 Github 上托管的 CENNZnet Wiki。 您可以在此处找到技术文档和指南。

To stay up-to-date on the progress of our technology, follow us on Twitter, Telegram, LinkedIn, Discord and Instagram.

--

--