npm 包 @polkadot/types 使用教程

介绍

@polkadot/types 是一个基于 TypeScript 的 Polkadot Substrate 库,它使得在 JavaScript 或 TypeScript 中与 Substrate 区块链进行交互变得更加简单。该库包含了 Substrate 网络上的所有数据类型以及存储在其上的所有数据结构。

这篇文章将详细介绍 @polkadot/types 的使用方法,并通过代码示例帮助读者学习如何在前端开发中使用它。

安装

在使用 @polkadot/types 之前,你需要先安装它。你可以通过 npm 命令来安装:

--- ------- ------ ---------------

使用

在使用 @polkadot/types 之前,你需要理解一些 Substrate 相关的概念。这些概念包括区块、交易、事件、存储和功能模块等。

创建一个连接

在和 Substrate 进行交互之前,你需要创建一个与 Substrate 节点的连接。你可以使用 ApiPromise 对象创建一个连接,如下所示:

------ - ------------ ------- - ---- ----------------
------ - -------------- - ---- ---------------------------

----- -------- - ----------------------

----- -------- ------------------ -
  ----- -------- - ----- ------------------------------
  ----- --- - ----- --------------------
    ---------
    ----------- -----------
    ---------- -
      ------------ --------------
      ----
        -- ---- ------ ----- ---- --
      --
    --
    ---- -
      ----
        -- ---- ------ ---- ---- --
      --
    --
    ----------- -
      ----
        -- ---- ------ ----- ------- ---- --
      --
    --
  ---

  ------ ----
-

这里我们使用 web3FromSource 方法获取一个与 Polkadot JS 扩展程序交互的 provider 对象,然后使用 ApisPromise 创建一个连接。在这里,ENDPOINT 是 Substrate 节点的 WebSocket 地址,typesChain 是我们连接的网络类型,typesSpec 是我们需要使用的自定义类型,rpc 是我们需要使用的自定义 RPC 方法,typesAlias 是我们需要为自定义类型创建的别名。

查询最新区块

连接到 Substrate 节点后,我们可以通过 api.rpc.chain.getBlock 方法获取最新区块的信息,如下所示:

----- -------- ---------------- -
  ----- --- - ----- -------------------
  ----- ----------- - ----- --------------------------
  ----- ----------- - ------------------------------
  ----- --------- - -------------------------

  ------ -
    ------------
    ----------
  --
-

查看账户余额

要查看指定账户的余额,可以使用 api.query.system.account 方法,如下所示:

------ - ------- - ---- ----------------

----- -------- ------------------- ------- -
  ----- --- - ----- -------------------
  ----- ------- - --- --------- ----- --------- ---
  ----- ----- - ------------------------------

  ----- - ---- - - ----- ----------------------------------

  ------ --------------------
-

这里我们首先创建了一个 keyring,然后使用其 addFromUri 方法为账户添加了一个助记词“Alice”。接着我们使用 api.query.system.account 方法查询指定账户的余额,并将其转为人类可读格式返回。

发送交易

使用 @polkadot/types 发送交易的流程如下:

------ - ------- - ---- ----------------
------ - ------------- - ---- --------------------
------ - ------------- - ---- ------------------------

----- -------- ---------------- ------- --------- ------- ------- ------- -
  ----- --- - ----- -------------------
  ----- ------- - --- --------- ----- --------- ---
  ----- ----- - ------------------------------
  ----- ----- - ----- ---------------------------------------------

  ----- -------- ------------- - -
    -------- --------------
    ---------- ----------------
    ------------ --
    ---- ------------------------------ - -------- ---------------- ------- -- ---
    ------------ ----------------
    ------- ---------------------------------- --------
    ------
    ----------------- ---
    ---- --
    -------- --
  --

  ----- ------ - -
    ------------ ----- --------------- -------------- -- -
      ------ - ---------- ----- ------------------------------- --
    --
    ----------- --------------
  --

  ----- --------- - ----- ---------------- -------------------- -----------------

  ------ ---------------------------------- -------------------- - ------ ------ ---
-

在这里,我们首先创建了一个 keyring,然后使用其 addFromUri 方法为账户添加了一个助记词“Alice”。接着我们使用 api.query.system.accountNonce 方法获取当前账户的 nonce 值。然后,我们构造了一个 SignerPayload 对象,并使用 api.sign 方法进行签名。最后我们构建交易并使用 api.tx.sign() 方法进行签名。

结论

通过本文,我们学习了如何使用 @polkadot/types 库来和 Substrate 区块链进行交互。我们介绍了创建连接、查询最新区块、查看账户余额、以及发送交易这些基本操作,希望读者能够通过本文得到帮助,更好地使用 @polkadot/types。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/polkadot-types


猜你喜欢

  • npm 包 stun 使用教程

    1. 简介 STUN(Session Traversal Utilities for NAT)是一种网络协议,绕过 NAT 障碍,建立点对点通信,具有低延迟和高带宽的网络连接。

    4 年前
  • npm 包 rtc-quickconnect 使用教程

    1. 什么是 rtc-quickconnect rtc-quickconnect 是一个基于 WebRTC 技术的 npm 包,可以帮助我们快速实现视频、音频、数据实时通信。

    4 年前
  • npm 包 normalice 使用教程

    什么是 normalice normalice 是一个用于归一化数据的 JavaScript 库,它可以帮助我们将深层嵌套的数据结构转换为扁平化的结构,方便我们对数据进行处理和操作。

    4 年前
  • npm 包 run-auto 使用教程

    如果你是一个前端开发人员,那么你一定知道 npm 包管理器,它为我们的开发工作提供了诸多便利。在 npm 包的数以万计的包中,run-auto 是一个非常实用的工具包,它可以帮助我们自动处理 Java...

    4 年前
  • npm 包 require-tree 使用教程

    在前端开发中,每个项目可能涉及的文件数量非常庞大,同时每个文件都可能包含很多的函数、变量和其他代码。对于开发者而言,对这些文件和代码进行管理和维护都是非常繁琐和耗时的。

    4 年前
  • npm 包 find-plugins 使用教程

    介绍 find-plugins 是一个可以在 Node.js 中查找和加载插件的 npm 包。通过 find-plugins,我们可以轻松地通过 npm 或本地文件系统,查找并加载 Node.js 应...

    4 年前
  • npm 包 @denali-js/documenter 使用教程

    引言 在前端开发过程中,我们经常需要编写文档来记录信息和传递给其他人,因此一个好的文档工具是必不可少的。@denali-js/documenter 是一个基于 markdown 的文档生成工具,能够自...

    4 年前
  • npm 包 @d-fischer/eslint-config 使用教程

    前言 在前端开发中,代码规范是非常重要的。特别是在团队协作开发中,统一的代码规范可以让代码更加易于维护和管理。然而,在实际开发中,每个开发者的编码习惯和风格都不尽相同,为了解决这个问题,我们可以使用 ...

    4 年前
  • 前端技术文章:npm 包 react-router-hash-link 的使用教程

    介绍 react-router-hash-link 是一个非常实用的 npm 包,它可以让我们在 React 单页应用程序中使用类似于传统基于锚点的跳转。这样的跳转可以使得我们页面之间的切换变得顺畅、...

    4 年前
  • npm 包 commonmark-react-renderer 使用教程

    前言 在前端开发中,我们通常需要将 markdown 文本渲染成页面上的特定样式。常见的做法是使用一些开源的库来处理 markdown,如果需要将渲染结果展示在 React 组件中,就需要使用一些能够...

    4 年前
  • npm 包@types/react-fontawesome 使用教程

    介绍 在前端开发中,FontAwesome 是一款非常流行的图标库,而React是现在前端开发中使用较为广泛的框架之一。@types/react-fontawesome 是基于 React 的 Fon...

    4 年前
  • npm 包 @types/commonmark 使用教程

    什么是 @types/commonmark @types/commonmark 是 CommonMark 标准的 TypeScript 类型定义。它定义了节点和解析器等常用类和方法,方便在 TypeS...

    4 年前
  • npm 包 @types/phantom 使用教程

    PhantomJS 是一款基于 WebKit 的无头(headless)浏览器,它可以模拟用户在浏览器上执行的各种操作,比如页面加载、鼠标点击、键盘输入和JavaScript执行等。

    4 年前
  • npm 包 @types/csv-stringify 使用教程

    在前端开发中,处理 CSV 数据是比较常见的操作,而 csv-stringify 是一个方便快捷的 npm 包,可以帮助我们快速将 JavaScript 对象转换成 CSV 格式的字符串。

    4 年前
  • npm 包 @types/bcrypt-nodejs 使用教程

    简介 npm 是 Node.js 的包管理工具,可以方便地安装、升级和删除 Node.js 模块。@types/bcrypt-nodejs 是 bcrypt-nodejs 库的 TypeScript ...

    4 年前
  • npm 包 @coolgk/token 使用教程

    在前端开发中,经常需要处理安全相关的问题,其中的一项就是关于 token 的处理。@coolgk/token 就是一个方便处理 token 的 npm 包。 什么是 @coolgk/token @co...

    4 年前
  • npm 包 @coolgk/string 使用教程

    在前端开发中,使用到字符串的情况非常频繁。很多时候我们需要对字符串进行处理、转换、比较等操作。为了方便、高效地进行字符串操作,有很多 npm 包提供了丰富的 API 。

    4 年前
  • npm 包 @coolgk/queue 使用教程

    在前端开发中,我们经常需要使用一些算法数据结构,例如队列、栈等等。而在现代前端框架中,使用 npm 包管理这些工具已经成为常态。本文将介绍如何使用 npm 包 @coolgk/queue 实现队列算法...

    4 年前
  • npm 包 @coolgk/jwt 使用教程

    前言 随着前端技术的不断发展,Web 应用程序的安全性与可靠性越来越成为一个重要的问题。JSON Web Token (JWT) 作为一种轻量级的身份验证工具,正在越来越多的 Web 应用程序中得到使...

    4 年前
  • npm 包 @coolgk/cache 使用教程

    前言 随着现代 web 应用的快速发展,前端技术也在不断创新,一个性能高效且可重用的缓存工具变得非常重要。npm 包 @coolgk/cache 就是一种基于 JavaScript 的轻量级缓存工具,...

    4 年前

相关推荐

    暂无文章