![a849c3b56013a6cf00b79c4449cf9f72.png](https://i-blog.csdnimg.cn/blog_migrate/928930f6b8da72267317905d5997e301.jpeg)
自己创建一个 Pallet
在本教程中, 你将编写一个存在于其自身 crate(包装箱)里的 Substrate 模块,并将其包含在基于 substrate-node-template
的节点中。
安装 Node Template
当你学习完教程:创建你的第一条Substrate链[1] 之后,你应该已经在计算机上编译了 Substrate Node Template[2] 的 v2.0.0-alpha.8
版本,如果没有的话, 请先学习完教程。
“如果你是有经验的开发人员,倾向于选择跳过该教程,建议你可以根据自述文件中的说明安装节点模板。
克隆 Pallet 模板
我们不会将 Pallet(模块)直接写为节点模板的一部分,而是写成一个单独的 Rust crate。这种形式让我们可以和节点分开发布 Pallet,也可以让其他人轻松的将该 Pallet 导入自己的 Substrate Runtime。
在你的节点模板的 pallets
目录中克隆 Substrate pallet template:
cd pallets
git clone -b v2.0.0-alpha.8 https://github.com/substrate-developer-hub/substrate-pallet-template test-pallet
“在本教程中,我们将 pallet template (模块模板) 放在 node template (节点模板)的目录结构中。这种形式不是必须的,你可以将 pallet template 放置在任意位置。另一种流行的做法是将其作为 node template 的同级。
Substrate Pallet 模板
让我们从 Cargo.toml
文件开始探索 Substrate Pallet template。
重命名 crate
在 Cargo.toml
文件中, 你可以更新 crate 的名称和作者身份。在本教程中,我们集中讲如何创建和使用 pallet (模块),而不是编写 pallet (模块)逻辑。我们称之为 test-pallet
。
Cargo.toml
的开头是这样展示的:
pallets/test-pallet/Cargo.toml
[package]
authors = ['Substrate DevHub <https://github.com/substrate-developer-hub>']
description = 'Substrate FRAME pallet template'
edition = '2018'
homepage = 'https://substrate.io'
license = 'Unlicense'
name = 'test-pallet'
repository = 'https://github.com/paritytech/substrate/'
version = '2.0.0-alpha.8'
编译 Template Pallet
“如果你已按照本教程的步骤进行操作 ,并将模板模块克隆到节点模板的