#substrate #run-time #benchmark #module #macro #orml #pallet

no-std orml-benchmarking

提供用于基准测试 Substrate 运行时的宏

19 个版本 (1 个稳定版)

1.0.0 2024年8月1日
0.13.0 2024年6月26日
0.12.0 2024年6月3日
0.8.0 2024年3月18日
0.1.1 2020年6月5日

#850 in 神奇豆子

Download history 139/week @ 2024-04-15 7/week @ 2024-05-20 152/week @ 2024-06-03 8/week @ 2024-06-10 169/week @ 2024-06-24 20/week @ 2024-07-01 263/week @ 2024-07-29

每月280次下载

Apache-2.0

51KB
1K SLoC

open-runtime-module-library

Crates.io codecov GitHub

Open Runtime Module Library (ORML) 是一个社区维护的 Substrate 运行时模块集合。

运行时模块概述

实用工具

  • 拍卖
    • 实现了一般化的拍卖接口,用于 Acala 的清算拍卖。
  • 权限
    • 允许更高级的权限配置,如治理操作的定时锁定。
  • 逐渐更新
    • 提供了一种在一段时间内逐渐调整数字参数的方法。
  • 预言机
    • 允许离链预言机提供者向链上模块提供数据。
  • 奖励
    • 实现了计算和分配代币质押奖励的能力。
  • 特质
    • 实现了各种实用特质,包括基本货币、多货币、拍卖等。由其他 ORML 模块使用。

代币

  • 资产注册
    • 注册资产/代币元数据,包括名称、小数位数和 XCM 位置。
    • 部分基于 Acala 的资产注册模块,其中包含一些 Acala 特定的代码(例如 EVM+),因此不适合其他团队。
  • 货币
    • 提供统一的接口,用于结合 pallet-balances 和 orml-tokens。
  • NFT
    • 提供不可替换代币的实现。
  • 支付
    • 此托盘允许用户创建安全的可逆支付,将资金锁定在商家的账户中,直到链下货物被确认收到。每次支付都会分配一个自己的法官,以帮助解决双方之间的任何争议。
  • 代币
    • 实现了与Substrate代币抽象兼容的可替换代币托盘。
  • 充值
    • 提供了一种按计划锁定余额的机制,以分级充值的方式。

XCM

  • xcm-support
    • 提供支持特性、类型和实现,以支持与ORML模块的跨链消息(XCM)集成。
  • xcm
    • 为治理机构提供了分发XCM的方式。
  • xtokens
    • 提供跨链代币转账功能。
    • 由多个并行链用于它们的XCM代币转账实现。

基准测试

  • 基准测试
    • Substrate中frame-benchmarking的分支,以允许实现特定运行时的基准测试。

示例

查看orml-workshop以获取示例用法。

开发

Makefile目标

  • makecheck
    • 对代码进行类型检查,不使用std功能,不包括测试。
  • makecheck-tests
    • 对代码进行类型检查,使用std功能,包括测试。
  • maketest
    • 运行测试。

Cargo.toml

ORML使用Cargo.dev.toml以避免与项目cargo配置的工作空间冲突。要在ORML工作空间中使用cargo命令,通过运行创建Cargo.toml

  • cp Cargo.dev.toml Cargo.toml,或者
  • make Cargo.toml,或者
  • 将命令更改为make dev-check等,它执行复制。 (有关make命令的完整列表,请参阅Makefile

Web3基金会资助项目

ORML是更大的Open-Web3-Stack倡议的一部分,目前正接受Web3基金会的普通资助。请参阅申请详情此处。 第1个里程碑已经交付。

使用ORML的项目

按字母顺序排列


lib.rs:

用于基准测试Substrate运行时的宏。frame-benchmarking托盘的分支。

依赖关系

~19–35MB
~577K SLoC