#运行时 #模块 #Substrate #预言机 #API #orml-oracle

无需std orml-oracle-runtime-api

orml-oracle的运行时API模块

13个版本 (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.6.7 2023年11月21日

#2842 in 魔法豆

Download history 139/week @ 2024-04-15 6/week @ 2024-05-20 151/week @ 2024-06-03 7/week @ 2024-06-10 169/week @ 2024-06-24 4/week @ 2024-07-01 164/week @ 2024-07-29

每月下载量168次

Apache-2.0

3KB

open-runtime-module-library

Crates.io codecov GitHub

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

运行时模块概述

实用工具

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

代币

  • 资产注册
    • 注册资产/代币元数据,包括名称、小数位数和XCM位置
    • 部分基于Acala的资产注册组件,包含一些Acala特定的代码(例如EVM+),因此不适合其他团队。
  • 货币
    • 提供统一接口,结合pallet-balances和orml-tokens
  • NFT
    • 提供非同质化代币(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命令,通过运行

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

Web3基金会资助项目

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

使用ORML的项目

按字母顺序排列


lib.rs:

预言机模块的运行时API定义。

依赖项

~17–30MB
~493K SLoC