npm 包 @cennznet/cli 使用教程

前言

随着区块链技术的发展,越来越多的开发者开始进入区块链开发领域。而其中最为繁忙的一个领域就是以太坊和 substrate 开发。针对 substrate 开发者,CENNZnet 团队开发了相应的工具和框架,其中 @cennznet/cli 就是其中之一。

本文将会介绍 @cennznet/cli 的基本使用方法,同时配以示例代码,帮助开发者更快更好地掌握该工具的使用。

什么是 @cennznet/cli

@cennznet/cli 是 CENNZnet 团队针对 substrate 区块链开发而开发的一个命令行工具。使用 @cennznet/cli,开发者可以通过命令行创建一个 substrate 项目,同时可以方便地开发、测试以及部署自己的 substrate 应用。

在使用 @cennznet/cli 之前,需要先安装 Node.js 和 npm。另外,如果想要在本地运行 substrate 节点,首先需要安装 substrate 工具链。

安装

全局安装 @cennznet/cli:

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

@cennznet/cli 的使用

初始化项目

使用 @cennznet/cli 可以方便地初始化一个 substrate 项目,只需要在命令行中输入以下命令:

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

其中,my-project 是项目名称,可以自行修改。

创建 pallet

Pallet 是 substrate 中用于数据存储和状态转移的模块。 在 substrate 应用中,Pallet 扮演着非常重要的角色。使用 @cennznet/cli 创建一个新的 Pallet,只需要执行以下命令:

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

其中,my-pallet-name 是模块名称,可以自行修改。

添加 rpc 命令

Substrate 通过 JSON-RPC 与外部服务通信。开发人员可以使用 @cennznet/cli 命令行工具来添加自定义 rpc 命令,从而扩展 Substrate 节点的功能。 使用以下命令来添加自定义 rpc 命令:

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

其中,my-rpc-command 是自定义 rpc 命令名称,my-pallet-name 是要绑定到命令的 pallet 模块名称,可以根据具体情况进行修改。

编译和运行

当 substrate 项目创建好后,可以使用 @cennznet/cli 的 compile 命令来编译项目:

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

编译完成之后,可以直接使用 @cennznet/cli 的 run 命令来运行整个项目:

-------- ---

如果需要通过命令行参数或环境变量来配置运行选项,可以使用以下命令:

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

其中,--ws-port 和--rpc-port 分别指定 WebSocket 和 RPC 端口。

测试

@cennznet/cli 提供了方便的测试框架,可以帮助开发者快速测试自己的 substrate 项目。使用以下命令来运行测试:

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

生成文档

@cennznet/cli 也可以生成 substrate 项目的文档。使用以下命令来生成文档:

-------- ---

部署

@cennznet/cli 还可以帮助开发者将 substrate 项目部署到云端。使用以下命令来部署项目:

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

该命令将会把 substrate 项目部署到亚马逊 AWS 上的 us-west-2 区域。

示例代码

下面是一个简单的 substrate 项目示例:

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

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

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

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

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

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

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

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

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

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

            ------
        -
    -
-

总结

@cennznet/cli 是 CENNZnet 团队开发的一个非常实用的 Substrate 命令行工具,可以方便地创建、部署和管理项目。本文通过详细的介绍和示例代码,希望可以帮助开发者更好地了解和掌握 @cennznet/cli 的使用方法。

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


猜你喜欢

  • npm 包 @types/source-list-map 使用教程

    在前端开发中,我们可能会用到 @types/source-list-map 这个 npm 包,它是一种源列表映射类型的类型定义库,可用于将 JavaScript 代码映射为输出文件中的源位置。

    5 年前
  • npm 包 @easy-webpack/core 使用教程

    什么是 @easy-webpack/core @easy-webpack/core 是一个为 webpack 打造的易于使用的工具集,它提供了许多常用的、能力强大的 webpack 插件,让使用 we...

    5 年前
  • npm包@easy-webpack/config-output-library使用教程

    前言 对于前端开发人员来说,npm已经成为不可或缺的开发工具。它不仅可以用于管理项目中的第三方库,还可以用来发布自己的npm包。在前端项目中,我们需要将我们的代码打包成一个或多个JavaScript文...

    5 年前
  • npm包 @holisticon/angular-common 使用教程

    在现代Web应用程序开发中,Angular框架已经成为了非常流行的选择之一。然而,随着应用程序的复杂性不断提高,常常需要编写大量的重复代码来处理共同的任务(例如HTTP请求处理、表单验证等)。

    5 年前
  • npm 包 @mercateo/ws 使用教程

    介绍 @mercateo/ws 是一个基于 WebSocket 的 WebSocket client 和 server 的 JavaScript 库。它可以方便地实现 WebSocket 的连接和发送...

    5 年前
  • npm 包 @types/html-minifier 使用教程

    前言 在前端开发中,一个网站经常需要包含数百上千甚至更多行的 HTML 代码,这数量的代码极大地增加了加载网站所需花费的时间。此时,对 HTML 代码进行压缩是必要的操作。

    5 年前
  • npm 包 @types/gulp-uglify 使用教程

    概述 @types/gulp-uglify 是一个 npm 包,提供了 gulp-uglify 的 TypeScript 类型定义,使得使用 gulp-uglify 时能够获得更好的代码提示和类型检查...

    5 年前
  • npm 包 @neo-one/client 使用教程

    什么是 @neo-one/client @neo-one/client 是一个针对 NEO 区块链的 JavaScript 客户端库。它包含了许多针对 NEO 区块链的 API,比如可以创建智能合约、...

    5 年前
  • npm 包 @microsoft/set-webpack-public-path-plugin 使用教程

    前言 在开发 Web 应用程序时,我们通常会使用 Webpack 来构建我们的应用程序。Web 应用程序一般会包含多个页面,这些页面可能会位于不同的目录下,然而它们都需要引用我们构建出来的代码,而且代...

    5 年前
  • npm 包 @microsoft/resolve-chunk-plugin 使用教程

    前端开发中,对于打包和优化代码是重要的环节。Webpack 是一款非常流行的打包工具,它提供了各种插件和参数用于增强打包功能。其中,@microsoft/resolve-chunk-plugin 是一...

    5 年前
  • npm 包 @blackbaud/help-client 使用教程

    前言 社区和开发者一直在寻找更好的解决方案来管理和共享自己创建的代码。Node Package Manager (NPM) 是一个流行的包管理器,它允许开发者从各种来源轻松地安装、更新和卸载不同的包。

    5 年前
  • npm 包 ts-bundlify 使用教程

    在前端开发中,我们经常需要将 TypeScript 代码编译成 JavaScript 代码并进行打包,以便于在浏览器中运行。而 ts-bundlify 就是一个能够较为方便地进行 TypeScript...

    5 年前
  • npm 包 @develar/semantic-release 使用教程

    前言 在前端开发中,发布是至关重要的一环。而语义化版本控制则是管理发布的一种方式。为了简化这一流程,存在着一款名为 @develar/semantic-release 的 npm 包。

    5 年前
  • npm 包 @cus/semantic-release-npm 使用教程

    简介 在开发前端项目的过程中,我们常常需要手动进行版本控制和发布。这不仅费时费力,还容易出现错误。为了解决这个问题,有许多工具和自动化流程被开发出来。其中,一个非常好用的工具就是 semantic-r...

    5 年前
  • npm 包 @continous-auth/semantic-release-npm 使用教程

    前言 @continous-auth/semantic-release-npm 是一个用于自动化管理 npm 包版本的工具。与传统的手动管理版本不同,它通过根据 Git 提交记录自动判断需要发布的版本...

    5 年前
  • npm 包 @artemv/semantic-release 使用教程

    前言 在前端开发中,我们经常需要管理和发布 JavaScript 包。对于包的版本管理和发布升级,我们经常使用 Semver 规范来约束版本号。手动管理版本号和发布流程是件繁琐的事情,而 semant...

    5 年前
  • npm 包 octokit-pagination-methods 使用教程

    octokit-pagination-methods 是一个基于 Node.js 平台的 npm 包,它可以帮助我们在 GitHub API 中进行分页查询操作。在项目开发中,我们经常需要通过 Git...

    5 年前
  • Npm 包 Deprecation 使用教程

    在前端开发中,我们使用各种 npm 包来辅助开发工作,但是这些 npm 包可能会因为各种原因被废弃或替代。当我们使用一个被废弃的包时,可能会遇到一些问题。此时,npm 提供了一个 Deprecatio...

    5 年前
  • npm 包 btoa-lite 使用教程

    在前端开发中,我们可能会遇到需要将字符串转为 base64 编码的情况,而 btoa 是一个 JavaScript 原生的方法,可以完成这一操作。但是,在某些情况下,btoa 方法的兼容性并不理想,这...

    5 年前
  • npm 包 before-after-hook 使用教程

    在前端开发中,我们不可避免地需要对某些操作进行拦截,并在这些操作的前后执行一些额外的逻辑处理。在这种情况下,使用 before-after-hook 这个 npm 包可以大大简化我们的开发工作。

    5 年前

相关推荐

    暂无文章