存储对象

Sui 使用自己的以对象为中心的全局存储来避免扩展问题。 Sui 的存储是基于对象的,而不是基于使用键值对等数据结构的账户。

对象使用唯一标识符并支持并行事务。标识符表示为地址,一个 32 字节的标识符。对象的地址包装在 id: UID 中。 key 能力表示对象结构体的第一个字段是 id: UID,确保唯一地址。

要存储一个对象(的值),在 Sui 的 Move 中,使用 store 能力标记将存储在 Sui 链上存储中的对象。

public struct StoredObject has store {
    v: u64,
}

以下是关于 store 能力的一些规则:

  • 具有 store 能力的结构体,其所有嵌套结构体也需要具有 store 能力。
  • 具有 key 能力的结构体需要具有 store 能力。