#pallet #list #substrate #frame #polkadot #data #append

无std pallet-paged-list

FRAME 模块提供分页列表数据结构。 (polkadot v1.15.0)

15 个重大版本

0.15.0 2024 年 7 月 18 日
0.13.0 2024 年 6 月 24 日
0.9.0 2024 年 3 月 18 日
0.5.0 2023 年 12 月 12 日
0.0.0 2023 年 5 月 13 日

26#append


用于 polkadot-sdk

Apache-2.0

2.5MB
44K SLoC

Substrate 制作,为 DotSama

github - polkadot

分页列表模块

这是一个围绕 paged_list::StoragePagedList 的轻量级包装模块。它提供单个分页列表的 API。它可以实例化多次以提供多个列表。

概述

该模块非常独特,因为它不公开任何 CallErrorEvent。所有交互都通过实现的 StorageList 特性进行。

pallet-paged-list-fuzzer 包中提供了一个用于测试的模糊器。

示例

  1. 追加一些数据到列表可以通过以下方式实现:通过Pallet::append_one
  2. 或者通过Pallet::append_many。这通常比重复调用Pallet::append_one更可取。
  3. 如果您想要追加多个值(例如在循环中),那么最好使用Pallet::appender
  4. 遍历列表可以使用Pallet::iter。它使用标准的Iterator特质
  5. 排空元素通过Pallet::drain迭代器完成。请注意,即使是预览一个值也会将其移除。

Pallet API

无。需要考虑的只有Config特质。

低级/实现细节

实现细节在paged_list::StoragePagedList中进行了记录。所有存储条目都以前缀唯一标识符作为前缀,该标识符由ListPrefix生成。

依赖项

~17–32MB
~530K SLoC