开放式运行时模块库
开放式运行时模块库(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
- 提供非同质化代币实现
- payments
- 该模块允许用户创建安全可逆的支付,资金锁定在商家账户中,直到确认收到线下商品。每笔支付都会分配一个裁判,以帮助解决双方之间的争议。
- tokens
- 实现了与Substrate代币抽象兼容的同质化代币模块
- vesting
- 提供以"分级归属"方式的计划余额锁定机制。
XCM
- xcm-support
- 提供支持特征、类型和实现,以支持ORML模块与跨链消息(XCM)的集成。
- xcm
- 为治理机构提供了发送XCM的方法。
- xtokens
- 提供跨链代币转移功能。
- 被多个平行链用于其XCM代币转移实现。
基准测试
- benchmarking
- Substrate中frame-benchmarking的分支,允许实现运行时特定的基准测试
示例
查看orml-workshop获取使用示例。
开发
Makefile目标
make check
- 类型检查代码,不包含std特性,不包括测试。
make check-tests
- 类型检查代码,包含std特性,包括测试。
make test
- 运行测试。
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基金会的通用资助。申请详情请见这里。第一个里程碑已经交付。
使用ORML的项目
按字母顺序排列
[项目列表保持不变]