运行时构建框架(FRAME)是一组模块(称为托盘),并支持简化运行时开发的库。托盘是框架中的单个模块,承载特定字段的逻辑。
FRAME提供了与底层原语交互的辅助模块,后者提供了到核心客户端的接口。
的概述
下图展示了框架及其支持库的架构概述:
框架结构托盘
当构建一个框架时,底层运行时由几个较小的组件(称为托盘)组成。托盘包含一组定义运行时的一组函数的类、存储项和函数。系统库
系统库[1]为您的区块链提供基本类、存储和函数。所有其他托盘都依赖于系统库作为底层运行时的基础。
系统库定义了底层运行时的所有核心类,如:
的起源
数量的块
帐户ID
哈希
块的头
版本
等等……
它还有一些对系统至关重要的存储项,例如:
帐户目前
块的散列
数量的块
事件
等等……
**,它定义了一些低级函数,这些函数可以访问您的区块链存储,验证外部信息的来源,等等。执行模块
执行托盘[2]用作运行时的业务流程层。它在运行时将传入的外部调用分派到每个托盘。支持库
框架支持库[3]是一个集锈蚀宏,类,特点和功能,它简化了开发基板托盘。
支持在编译时对宏进行扩展,以生成运行时使用的代码,并减少最常用调色板的样板代码。运行时
运行时库将所有这些组件和面板放在一起。它定义了运行时所包含的面板,并将它们配置在一起以形成最终的运行时。当运行时被调用时,它将使用一个执行托盘将这些调用分派到每个托盘。
预制模块
一些托盘是通用的,足以在许多区块链重复使用。任何人都可以自由地编写和共享一个有用的托盘。承印物提供了一系列常用的托盘。让我们来了解他们。资产
资产托盘是一个简单、安全的模块,用于处理可替换资产。
文献[4]
资源:灵气
气场调色板通过管理离线报告扩展气场共识。
文献[6]
资源[7]权限发现
Core /authority-discoery使用权限发现面板来检索当前的权限集,学习它自己的权限ID,并在它和其他权限之间对消息进行签名和验证。
文献[8]
参考资料[9]作者
作者托盘跟踪当前游荡者和最近的第三块作者托盘。
文献[10]
参考资料[11]宝贝
通过从VRF输出中收集链的随机性并管理epoch转换,BABE托盘扩展了BABE共识。
文献[12]
资源平衡[13]
平衡托盘用于处理帐户和余额。
文献[14]
集体资源[15]
使用集合托盘,一组帐户id可以通过调度来自特定源的调用来通知集合心情。
文献[16]
资源[17]合同
契约栈板提供了在操作过程中部署和执行WebAssemb智能契约的功能。
文献[18]
资源[19]民主
民主托盘提供了处理一般利益相关者投票管理的民主制度。
文档[20]
参考资料[21]为Phragmen投票
选举人票是一个顺序词。n的选择模块。
文档[22]
资源[23]选举
选举托盘是一个模块加权投票的集体成员。
文献[24]
参考资料[25]EVM条目
EVM托盘是一个ETHereum[26]虚拟机(EVM)执行模块用于衬底。
文档[27]
资源[28]的例子
托盘是一个简单的托盘,它说明了大多数托盘的概念、api和结构。
文档[29]
资源[30]终结跟踪器
最终跟踪器(最终跟踪器)托盘跟踪一块通知的****(完成)块。
文档[31]
资源[32]一般资产
通用资产托盘提供处理帐户和资产余额的功能。
文档[33]
资源[34]爷爷
爷爷托盘扩展爷爷共识管理特权爷爷准备的地方代码。
文档[35]
资源[36]及其他;我在线AMPL全程;
AMPL;我在线。托盘允许验证器在每次新会话中展开AMPLldquo。心跳。指示节点处于联机状态的事务。
文档[37]
源索引[38]
索引托盘将索引分配给新创建的帐户。索引是地址的缩写形式。
文档[39]
参考资料[40]成员
会员托盘允许控制一套AMPLldquo。AccountId”成员关系,这对于管理集体成员关系非常有用。
文档[41]
资源[42]违规
一个非法(犯罪)托盘将跟踪报告的违规行为。
文档[43]
资源[44]随机性集合翻转
Randomity集合翻转面板提供了一个随机函数,该函数基于前面81个块的块散列生成一个影响很小的随机值。
文献[45]
参考资料[46]计分卡
得分池(得分池)托盘维护得分池的一个成员,其中得分**的实体作为成员。
文档[47]
参考资料[48]会话
会话托盘允许验证者管理其会话密钥,提供会话长度变化的功能,并处理会话旋转。
文档[49]
铆合资源[50]
托盘用于管理网络维护人员承诺的资金。
文档[51]
参考资料[52]Sudo
Sudo托盘允许一个单一的帐户(称为“Sudo键执行需要根源的可调度函数,或者指定一个新帐户用Sudo键替换它。
文档[53]
资源[54]时间戳
时间戳面板提供获取和设置链上的时间的功能。
文档[55]
资源[56]交易支付
交易支付托盘提供了在发送之前计算交易成本的基本逻辑。
文档[57]
资源[58]财政部
国库托盘提供了一个基金AMPL ldquo,可以管理的利益相关者在系统。储备AMPL在;并提供了一个从储备中提出支出的结构。
文档[59]
资源[60]
学习更多的未来
学习如何开发定制的基板托盘[61]。样例
学习添加一个托盘教程到您的衬底运行时[62]。的资源
访问系统库的参考文档[63]。
访问执行托盘参考文档[64]。
访问框架支持库的参考文档[65]。
访问系统库的参考文档[66]。
访问执行托盘的参考文件[67]。
访问帧支持库的参考文档[68]。的资源
[1]
系统库:https://substrate.de/rustdocs/master/frame_system/index.html [2]
执行托盘:https://substrate.de/rustdocs/master/frame_executie/index.html [3]
框架支持库:https://substrate.de/rustdocs/master/frame_support/index.html [4]
文档:https://substrate.de/rustdocs/master/pallet_assets/index.html [5]
资源:https://github.com/paritytech/substrate/blob/master/frame/assets/src/lib.rs [6]
文档:https://substrate.de/rustdocs/master/pallet_aura/index.html [7]
资源:https://github.com/paritytech/substrate/blob/master/frame/aura/src/lib.rs [8]
文档:https://substrate.de/rustdocs/master/pallet_authority_discoery/index.html [9]
资源:https://github.com/paritytech/substrate/blob/master/frame/authority-discoery/src/lib.rs [10]
文档:https://substrate.de/rustdocs/master/pallet_authorship/index.html [11]
资源:https://github.com/paritytech/substrate/blob/master/frame/authorship/src/lib.rs [12]
文档:https://substrate.de/rustdocs/master/pallet_babe/index.html [13]
资源:https://github.com/paritytech/substrate/blob/master/frame/babe/src/lib.rs [14]
文档:https://substrate.de/rustdocs/master/pallet_balances/index.html [15]
资源:https://github.com/paritytech/substrate/blob/master/frame/balances/src/lib.rs [16]
文档:https://substrate.de/rustdocs/master/pallet_collectie/index.html [17]
资源:https://github.com/paritytech/substrate/blob/master/frame/collectie/src/lib.rs [18]
文档:https://substrate.de/rustdocs/master/pallet_contracts/index.html [19]
资源:https://github.com/paritytech/substrate/blob/master/frame/contracts/src/lib.rs [20]
文档:https://substrate.de/rustdocs/master/pallet_democracy/index.html [21]
资源:https://github.com/paritytech/substrate/blob/master/frame/democracy/src/lib.rs [22]
文档:https://substrate.de/rustdocs/master/pallet_elections_phragmen/index.html [23]
资源:https://github.com/paritytech/substrate/blob/master/frame/elections-phragmen/src/lib.rs [24]
文档:https://substrate.de/rustdocs/master/pallet_elections/index.html [25]
资源:https://github.com/paritytech/substrate/blob/master/frame/elections/src/lib.rs [26]
以太之牙:https://en.***.org/wiki/ETHereum [27]
文档:https://substrate.de/rustdocs/master/pallet_em/index.html [28]
资源:https://github.com/paritytech/substrate/blob/master/frame/em/src/lib.rs [29]
文档:https://substrate.de/rustdocs/master/pallet_example/index.html [30]
资源:https://github.com/paritytech/substrate/blob/master/frame/example/src/lib.rs [31]
文档:https://substrate.de/rustdocs/master/pallet_finality_tracker/index.html [32]
资源:https://github.com/paritytech/substrate/blob/master/frame/finality-tracker/src/lib.rs [33]
文档:https://substrate.de/rustdocs/master/pallet_generic_asset/index.html [34]
资源:https://github.com/paritytech/substrate/blob/master/frame/generic-asset/src/lib.rs [35]
文档:https://substrate.de/rustdocs/master/pallet_grandpa/index.html [36]
资源:https://github.com/paritytech/substrate/blob/master/frame/grandpa/src/lib.rs [37]
文档:https://substrate.de/rustdocs/master/pallet_im_online/index.html [38]
来源:https://github.com/paritytech/substrate/blob/master/frame/im-online/src/lib.rs [39]
文档:https://substrate.de/rustdocs/master/pallet_indices/index.html [40]
资源:https://github.com/paritytech/substrate/blob/master/frame/indices/src/lib.rs [41]
文档:https://substrate.de/rustdocs/master/pallet_membership/index.html [42]
资源:https://github.com/paritytech/substrate/blob/master/frame/membership/src/lib.rs [43]
文档:https://substrate.de/rustdocs/master/pallet_offences/index.html [44]
资源:https://github.com/paritytech/substrate/blob/master/frame/offences/src/lib.rs [45]
文档:https://substrate.de/rustdocs/master/pallet_randomness_collectie_flip/index.html [46]
资源:https://github.com/paritytech/substrate/blob/master/frame/randomness-collectie-flip/src/lib.rs [47]
文档:https://substrate.de/rustdocs/master/pallet_scored_pool/index.html [48]
资源:https://github.com/paritytech/substrate/blob/master/frame/scored-pool/src/lib.rs [49]
文档:https://substrate.de/rustdocs/master/pallet_session/index.html [50]
资源:https://github.com/paritytech/substrate/blob/master/frame/session/src/lib.rs [51]
文档:https://substrate.de/rustdocs/master/pallet_staking/index.html [52]
资源:https://github.com/paritytech/substrate/blob/master/frame/staking/src/lib.rs [53]
文档:https://substrate.de/rustdocs/master/pallet_sudo/index.html [54]
资源:https://github.com/paritytech/substrate/blob/master/frame/sudo/src/lib.rs [55]
文档:https://substrate.de/rustdocs/master/pallet_timestamp/index.html [56]
资源:https://github.com/paritytech/substrate/blob/master/frame/timestamp/src/lib.rs [57]
文档:https://substrate.de/rustdocs/master/pallet_transaction_payment/index.html [58]
资源:https://github.com/paritytech/substrate/blob/master/frame/transaction-payment/src/lib.rs [59]
文档:https://substrate.de/rustdocs/master/pallet_treasury/index.html [60]
资源:https://github.com/paritytech/substrate/blob/master/frame/treasury/src/lib.rs [61]
开发定制基板托盘:https://substrate.de/docs/en/deelopment/module/ [62]
将托盘添加到您的衬底运行时教程:https://substrate.de/docs/en/tutorials/adding-a-module-to-your-runtime [63]
系统库:https://substrate.de/rustdocs/master/frame_system/index.html [64]
执行托盘:https://substrate.de/rustdocs/master/frame_executie/index.html [65]
构建支持库:https://substrate.de/rustdocs/master/frame_support/index.html [66]
系统库:https://substrate.de/rustdocs/master/frame_system/index.html [67]
执行托盘:https://substrate.de/rustdocs/master/frame_executie/index.html [68]
框架支持库:https://substrate.de/rustdocs/master/frame_support/index.html
原:https://substrate.de/docs/en/conceptual/runtime/frame
PolkaWorld社区
文章链接:https://www.btchangqing.cn/28296.html
更新时间:2020年05月29日
本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。