#rate-limiting #limit #substrate #quota #limiter #allowlist #run-time

no-std orml-rate-limit

提供配置速率限制器的途径,以限制某些操作

6 个版本 (1 个稳定版本)

1.0.0 2024年8月1日
0.13.0 2024年6月26日
0.12.0 2024年6月3日
0.10.0 2024年4月17日
0.8.0 2024年3月18日

#7 in #quota

Download history 6/week @ 2024-05-21 94/week @ 2024-05-28 59/week @ 2024-06-04 8/week @ 2024-06-11 162/week @ 2024-06-25 137/week @ 2024-07-30

每月下载 137

Apache-2.0GPL-3.0-only

135KB
3K SLoC

open-runtime-module-library

Crates.io codecov GitHub

开放运行时模块库 (ORML) 是一个由社区维护的 Substrate 运行时模块集合。

运行时模块概述

实用工具

  • auction
    • 实现一个通用的拍卖接口,由 Acala 用于清算拍卖。
  • authority
    • 允许更高级的权限配置,如治理操作的定时锁。
  • gradually-update
    • 提供一种方法,在一段时间内逐渐调整数字参数。
  • oracle
    • 允许离链预言机提供者将数据喂给链上组件使用。
  • rewards
    • 实现计算和分配代币质押奖励的能力。
  • traits
    • 实现各种实用特性,包括 BasicCurrency、MultiCurrency、Auction 等。由其他 ORML 组件使用。

代币

  • asset-registry
    • 注册资产/代币元数据,包括名称、小数位和 XCM 位置。
    • 部分基于 Acala 的 asset-registry 组件,其中包含一些 Acala 特定的代码(例如 EVM+),因此不适合其他团队。
  • currencies
    • 提供统一的接口,以结合 pallet-balances 和 orml-tokens。
  • nft
    • 提供非同质化代币 (NFT) 实现。
  • payments
    • 此组件允许用户创建安全的可逆支付,直到离线商品被确认收到,资金将锁定在商家的账户中。每个支付都分配有一个自己的仲裁员,可以帮助解决双方之间的任何争议。
  • tokens
    • 实现与 Substrate 代币抽象兼容的可交易代币组件。
  • vesting
    • 提供按计划锁定余额的机制,以分级预留的方式。

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配置的.workspace冲突。要在ORML工作区中使用cargo命令,运行

  • cp Cargo.dev.toml Cargo.toml,或
  • make Cargo.toml,或
  • 将命令更改为make dev-check等,这些命令会执行复制。 (有关make命令的完整列表,请查看Makefile)

Web3基金会资助项目

ORML是更大的Open-Web3-Stack倡议的一部分,目前正在Web3基金会的通用资助下。有关申请详情,请参见此处。第一个里程碑已经交付。

使用ORML的项目

按字母顺序排列


lib.rs:

速率限制

提供任意类型Key和整数类型Value的速率限制模块

概述

此模块是提供任意类型Key和整数类型Value的速率限制器的实用程序,可以配置限制规则以生成配额和消耗配额,并公开配额消耗检查和白名单,可以绕过检查。

依赖关系

~20–35MB
~596K SLoC