1 个稳定版本
2.0.0 | 2020 年 10 月 3 日 |
---|
#19 in #enterprise
25KB
485 行
Substrate 产品注册托盘
产品注册托盘提供了在供应链中各种利益相关者之间交换的产品/贸易项目的主数据(即类级别)的注册和管理功能。此数据通常由产品的制造商/供应商一次性注册,以与其他网络参与者共享。
当此托盘添加到 Substrate 运行时,其他自定义 Substrate 托盘可以在此基础上实现额外的业务逻辑,利用产品注册托盘作为已知产品和其所属组织的参考。
此托盘是 Substrate 企业示例 的一部分。
它受到现有项目和标准的影响
注意:此托盘以简化的方式实现了上述过程,因此它仅用于演示目的,未经审计,不适合生产使用。
使用方法
要注册产品,必须发送一个包含以下参数的交易,使用 productRegistry.registerProduct
外部函数:
id
作为产品 ID,通常这是 GS1 GTIN(全球贸易项目编号)或 ASIN(亚马逊标准识别号),或类似的数字或字母数字代码,具有定义良好的数据结构。owner
作为代表拥有此产品的 Substrate 账户,例如在价值链中提供此产品的制造商或供应商。props
是一系列属性(名称和值),描述产品。通常,至少会有文本描述和 SKU。它还可以包含实例/批次的 master 数据,例如过期日期、重量、收获日期。
依赖关系
特质
此托盘依赖于 [FRAME EnsureOrigin 系统特质]
frame_support::traits::EnsureOrigin;
托盘
此托盘依赖于 FRAME 时间戳托盘。
测试
使用以下命令运行测试
```
cargo test
```
如何在您的运行时中使用它
运行时 Cargo.toml
要将此托盘添加到您的运行时,只需将以下内容添加到运行时的 Cargo.toml
文件中
[dependencies.product-registry]
default_features = false
package = 'pallet-product-registry'
version = '2.0.0'
并将您的运行时的 std
功能更新以包括此托盘
std = [
# --snip--
'product-registry/std',
]
运行时 lib.rs
您应该像这样实现它的特性
impl product_registry::Trait for Runtime {
type Event = Event;
type CreateRoleOrigin = Origin;
}
并在您的 construct_runtime!
宏中包含它
ProductRegistry: product_registry::{Module, Call, Storage, Event<T>},
创世配置
此模板托盘没有创世配置。
参考文档
您可以通过运行来查看此托盘的参考文档
cargo doc --open
依赖关系
~6–15MB
~199K SLoC