如何在 PersistentVector 项中存储数组?
How to store an arrays within a PersistentVector item?
我正在尝试这里的遗愿清单设计挑战:
https://github.com/near-examples/workshop--exploring-assemblyscript-contracts
在注释中它说有一个模型 Activity
,这应该包括一个 PersistentVector
用于朋友列表。
我的活动存储为 PersistentVector
,因此这意味着 PersistentVector
与 Activity
模型的嵌套 - 这似乎是不可能的。我是不是遗漏了什么,或者这可能是为了引起一些思考而设计的?
当然可以有一个PersistentVector<Activity>
,里面每个activity有一个PersistentVector<string>
和朋友。然而,使用这个数据结构,我认为你最终会得到所有活动的共享朋友列表(除非你使用唯一的前缀)。如果您使用 PersistentVector
进行活动,则可以使用常规列表 (string[]
) 让您的朋友将其隔离在一个 activity 中。否则,您需要使用您的 activity 的 ID 来存储朋友的 PersistentVector
(可能是像下面这样的唯一前缀)
friends: PersistentVector<string> = new PersistentVector<string>(uniqueIdOfActivity);
我还没有验证我的假设,但据我了解,PersistentVector 只是一个使用存储的助手
我正在尝试这里的遗愿清单设计挑战:
https://github.com/near-examples/workshop--exploring-assemblyscript-contracts
在注释中它说有一个模型 Activity
,这应该包括一个 PersistentVector
用于朋友列表。
我的活动存储为 PersistentVector
,因此这意味着 PersistentVector
与 Activity
模型的嵌套 - 这似乎是不可能的。我是不是遗漏了什么,或者这可能是为了引起一些思考而设计的?
当然可以有一个PersistentVector<Activity>
,里面每个activity有一个PersistentVector<string>
和朋友。然而,使用这个数据结构,我认为你最终会得到所有活动的共享朋友列表(除非你使用唯一的前缀)。如果您使用 PersistentVector
进行活动,则可以使用常规列表 (string[]
) 让您的朋友将其隔离在一个 activity 中。否则,您需要使用您的 activity 的 ID 来存储朋友的 PersistentVector
(可能是像下面这样的唯一前缀)
friends: PersistentVector<string> = new PersistentVector<string>(uniqueIdOfActivity);
我还没有验证我的假设,但据我了解,PersistentVector 只是一个使用存储的助手