币久网-虚拟货币交易,BTC比特币价格,数字资产交易

币久网

课程|撰写一个基板模块

托盘/测试-托盘/货物。Toml

[功能]默认= [' STD '] STD = [' codec/ STD ', 'frame-support/ STD ', 'frame-system/ STD ',]基片依靠关系应一致

所有底层模块都依靠于底层的帧库,如帧系统和帧支持。这部分库是从箱子中提取出来的。IO。当大家构建基于框架的运行时,他们也将依靠于这部分低级库,你需要确保托盘和运行时是一致的。

货运簿[12]

有关Rust和WebAs百度竞价推广bly[13]的更多信息,请参见链接

htth3s://github.com/h3aritytech/DOT波卡

遵循圆点花纹的进展:

htth3s://github.com/h3aritytech/substrate

运行时/ SRC / lib。Rs

/ /添加以下代码::TraitforRuntime {typeEent = Eent;} / / - "- construct_runtime! ";

的节点

此时,你已经将模块打包到我们的模块包中,并将其包含在节点的运行时中。

确保返回节点模板的根,然后用以下命令编译并运行节点:

Cargobuild——释放

清除所有现有些开发链:

。/ target/release/node - templatepurge - chain - de

开始节点:

。/ target/release/node -模板- de

最后,启动连接到当地节点[6]的DOT波卡-js应用程序,以确保模块按预期工作。

注意:你还可以在DOT波卡-js应用程序中手工设置节点URL,办法是导航到Settings选项卡,并将远程节点/端点设置为连接到当地节点。

一旦你的模块不再是测试版,你应该考虑将其发布到GitHub或crates。IO。发布在GitHub上

要在GitHub上发布,你需要创建一个GitHub存储库并发布模块代码。发布的板条箱。IO

板条箱。IO允许未经授权的分发。你可以根据他们的出版指南学习怎么样在板条箱上出版。io [9]。

目前,托盘被发布在GitHub或板条箱上。大家可以更新运行时以用已发布的代码,而不是硬编码的文件系统路径。GitHub的依靠性

欢迎学习承印物:

托盘/测试-托盘/货物。Toml

# - "- [de -依靠项。Sp - core] git = 'https://github.com/paritytech/substrate.git'默认-功能=谬误标签= '8' 2.0.0 - alpha。

可以通过以下命令确认在承印物托盘模板中的测试是不是通过:

cargotest

当更新模块以包含自概念逻辑时,你可能需要将我们的依靠项添加到容器中。toml文件。

一旦大家的模块编译并通过测试,大家就可以开始筹备将它添加到大家的节点。

假如你不熟知其他板条箱的包含和用,请参阅《货物手册》[5]知道更多信息。

大家第一将新创建的crate作为依靠项添加到运行时容器中。,然后告诉模块只在运行时本身构建时才构建其STD功能,如下图所示:

htth3s://substrate.de/

PolkaWorld社区

托盘/测试-托盘/货物。Toml

# - "-[依靠关系。支持]git = 'https://github.com/paritytech/substrate.git'默认-功能=谬误标签= '8' 2.0.0 - alpha。

从上面的代码片段中,大家可以看到托盘板依靠于2.0.0-alpha版本。8 .低级库。所以它可以在运行时用,这也依靠于2.0 -alpha.8。模块开发的依靠

开发依靠关系在容器的最后一节中指定。toml文件。这部分依靠项是在模块测试中需要的,而不是实质模块本身。

htth3s://bootcamh3.web3.foundation/

对基质进步的关注:

货物起运。Toml是如此显示的:

运行时/货物。Toml

(依靠关系。你的palm-name]default_features = falsegit = ' https://github.com/your-username/your-' branch = 'master'#你可以选择一个特定的提交或标记,而不是分支# re = 'lt;Git - commitgt;'# tag ='lt;一些taggt;板条箱。IO依靠性

运行时/货物。Toml

(依靠关系。你的掌纹名字]default_features = '一些兼容版本'

构建完美的

第三编译,注意Cargo目前正在从GitHub或crates抓取你的托盘。IO而不是用当地文件。

A:祝贺你!你已经成功地在我们的锈包中撰写并发布了一个基板模块。其他区块链开发职员仅需在carport中用4行代码就可以轻松地在运行时用你的托盘。并更新其运行时的lib. Rs文件。要知道更多

大家也有很多关于衬底开发的定义和技术的课程。

有关运行时开发技术和模式的更多信息,请参见衬底配方[11]。资源

托盘/测试-托盘/货物。Toml

[包]作者= [' Substrate DeHublt; https://github.com/substrate-deeloper.hubgt;'] description = '承印物框架托盘模板' eption = '2018'主页= 'https://substrate。io' license =' Unlicense' name =' test - palette repository =' https://github.com/paritytech/substrate/' ersion =' 2.0.0 - alpha。8’模板Palletldquo的编制;

假如你遵循了本课程中的步骤并将模板模块克隆到节点模板的托盘目录中,则需要将模板模块添加到cargo中。汤姆卷进风筝里。数组成员。在节点模板目录的根目录中;你将需要包括路径和包的名字,所以你需要将这个元素添加到成员数组中:’pallets/test- palette ‘,。

你应该可以成功地编译基板托盘模板用以下命令:

Cdtest-palletcargobuild——STD发布模块功能

在这个托盘/ test-pallets /托盘/托盘/托盘/托盘/托盘/托盘/托盘/托盘/托盘/托盘/托盘/托盘/托盘/托盘/托盘/托盘/托盘/托盘/托盘/托盘/托盘/托盘/托盘/托盘/托盘/托盘/托盘/托盘/托盘。STD功能全程;,你可以让你的项目访问Rust标准库。这在构建当地二进制文件时非常便利。

然而,Substrate也将运行年代码构建到WebAs百度竞价推广bly 中。在本例中,大家用cargo函数来禁用Rust标准库。因此,托盘和整个运行时的所有依靠项需要可以用’no_std'[4]函数。的容器中。toml文件告诉依靠的模块用其STD功能,只有当模块也用其STD功能,如下图所示:

申请练习营:

[1]

创建你的第一个底物链:https://www.substrate.io/tutorials/pallet-inowcrate/tutorials/creyour-firstsubstrate-chain/2.0.0-alpha.8[2]

底层节点模板:https://github.com/substrate-deelope-hub/substrate-nodetemplate [3]

Rust标准库:https://doc.rust-lang.org/std/[4]

No_std: https://rust-embedded.github.io/book/intro/no-std.html [5]

货物手册:https://doc.rust- lang.org/cargo/guide/creating-a-newproject.html [6]

连接到当地节点的JS应用:https://DOT波卡.js.org/apps/#/explorer?RPC = ws: / / 127.0.0.1:9944 [7]

创建一个批量存储库:https://help.github.com/en/articles/crea-repo [8]

发布模块代码:https://help.github.com/en/articles/pushing-to-a-remote [9]

怎么样在板条箱。IO张贴:https://doc.rust-lang.org/cargo/reference/publishing.html [10]

不少课程:https://www.substrate.io/tutorials [11]

用于配方的底物:https://substrate.de/recipes/[12]

货物书本:https://doc.rust- lang.org/stable/cargo/[13]

Rust和WebAs百度竞价推广bly: https://rustwasm.github.io/

原:https://www.substrate.io/tutorials/pallet-in-own-crate/2.0.0-alpha.8

在本课程中,你将撰写一个存在于我们的板条箱中的衬底模块,并将其包含在基于衬底-node-template的节点中。

当你完成课程:创建第一个基底链[1]时,你应该已经编译了2.0.0-alpha。衬底节点模板[2]的8位在你的计算机上。假如没,请先完成课程。

假如你是一位资深的开发职员,并且期望跳过本课程,那样建议你根据readme中的描述安装节点模板。克隆托盘

大家不直接将托盘作为节点模板的一部分来撰写,而是将它作为一个单独的生锈板条箱来撰写。这种形式允许大家从节点独立地释放托盘,或者允许别的人轻松地将托盘导入他们的底层运行时。

克隆基板托盘模板在托盘目录下你的节点模板:

cdpalletsgitclone-b2.0.0-alpha.8https: / /github.com/substrate-deeloper-hub/substrate-pallet-templatetest-pallet

在本课程中,大家将托盘模板放置在节点模板的目录结构中。此表格并无需;你可以把托盘放在任何你想放的地方。另一种时尚的办法是将它用作节点模板的兄弟节点。

大家从货物开始吧。探索toml文件的底层托盘模板。重命名的板条箱

在容器中。toml文件,你可以更新的名字和作者的板条箱。在本课程中,大家将重点讨论怎么样创建和用面板,而不是撰写面板逻辑。大家称之为测试托盘。

运行时/货物。Toml

剪断,[依靠性。test - palette]default-features = falsepath = '..托盘/测试托盘'#往下[功能]默认= [' STD '] STD =['测试托盘/ STD ', # -snip-]底部的托盘/测试托盘'#[特质]默认= [' STD ']

你需要设置default_features = false,以便运行时将编译为Wasm。

下面,大家将test_palette添加到construct_runtime!在宏中,更新运行时/ SRC /lib。rs来实质用大家新的运行时托盘。

我们的缺点麻烦您能提出,谢谢支持!