Substrate Developer Hub

Substrate Developer Hub

  • 教程
  • 知识库
  • 进阶菜谱
  • API 文档
  • Languages icon简体中文
    • English
    • 协助翻译

›Runtime

开始

  • 总览
  • 安装
  • 在 Windows 系统开始
  • 词汇表

学习 Substrate

  • Extrinsics
  • 交易池
  • 账户摘要
  • 会话密钥
  • 交易权重
  • 链下功能

Runtime

  • Runtime 总览
  • Runtime 的基本类型
  • FRAME
  • Pallets
  • Runtime宏
  • Runtime 元数据
  • Runtime 存储
  • Runtime 来源
  • Runtime 执行流程
  • Runtime事件
  • Runtime 错误
  • 交易费用
  • 链下工作机
  • 调试
  • Runtime 测试
  • 链上随机生成
  • Runtime 升级

智能合约

  • 总览
  • ink! 智能合约
  • ink! 概念
  • ink! 开发
  • EVM 模块
  • ink! 常问问题

整合

  • Polkadot-JS
  • 客户端库
  • 链规范
  • Subkey 工具
  • 内存分析

进阶

  • SCALE 编解码器
  • 共识机制
  • 区块导入过程
  • 执行器
  • 密码学
  • 存储
  • SS58 地址格式

贡献

  • 协助翻译
Translate

Runtime 的基本类型

Substrate的runtime是由一系列原语所组合而成,Substrate框架其它部分都需要它。

核心原语

Substrate 框架对运行时必须提供给 Substrate 其他层的内容有一个最小假设。 它们必须被定义并且必须满足特定的接口才能在 Substrate 框架内工作。

它们是:

  • Hash:一种编码了数据加密摘要的类型, 通常是一个256位的数值。

  • DigestItem:一种可编码类型,需要能同时支持静态编码写死的代码内容(与共识系统和变化追踪相关的备选方案),和多个对应指定模块的 “软变量”。

  • Digest:一系列 "DigestItem" 的组合, 它对当前区块中轻客户端所需知晓的所有信息进行了编码。

  • Extrinsic:这种类型代表着一段来自链外、且被区块链认可的数据。 它通常包括一个或多个签名,以及某种编码指令(例如转移资金所有权或调用智能合约)。

  • Header:一种包含了单个区块所有信息 (以加密或其它形式) 的类型。 它包括父区块哈希、存储根哈希和 extrinsic 根哈希、区块摘要及区块号。

  • Block:基本上就是 Header 和一系列 Extrinsics 的组合,以及所使用的哈希算法说明。

  • BlockNumber:一种类型,代表一个有效区块的祖先区块的总数量。 通常是32字节数值。

FRAME原语

如果是通过Substrate FRAME搭建的runtime,还可以使用如下的FRAME原语:

  • Call: 通过extrinsic调用的可调用函数类型。

  • Origin: 代表着函数调用方, 例如可以是签名消息(交易)、无签名消息(区块链内生数据),或者runtime本身(根调用)。

  • Index: 帐户的交易索引 (也叫nonce) 类型, 存储交易发送方账户曾经发出的交易总数。

  • Hashing:在runtime中使用的哈希系统 (算法) (例如Blake2)。

  • AccountId: 用于在runtime中识别用户账户的类型。

  • Event:代表runtime发出的事件类型。

  • Version:代表runtime版本的类型。

后续步骤

进一步学习

  • 了解更多关于 Substrate FRAME的知识。

例子

  • 查看泛型是如何在 Substrate 节点 中实现的。

参考文档

  • View the primitive types defined in node-primitives.

  • View the traits defined in sp-runtime

← Runtime 总览FRAME →
  • 核心原语
  • FRAME原语
  • 后续步骤
    • 进一步学习
    • 例子
    • 参考文档
Substrate Developer Hub
开发者中心
教程知识库进阶菜谱API 文档
社区
社区主页通讯Substrate 技术聊天室Substrate 研讨会Stack Overflow推特聚会活动
更多
Substrate Builders 计划BlogSubstrate GitHub开发者中心 GitHub隐私政策使用条款Cookie 设置
Copyright © 2021 Parity Technologies