全局存储 - 结构
Move 程序的主要目的是从树形结构的持久化全局存储中读取和写入数据。程序无法访问文件系统、网络或此树形结构之外的任何其他数据。
用伪代码表示,全局存储的结构大致如下:
module 0x42::example {
struct GlobalStorage {
resources: Map<(address, ResourceType), ResourceValue>,
modules: Map<(address, ModuleName), ModuleBytecode>
}
}
从结构上看,全局存储是由以账户 address
为根的树组成的 森林 。每个地址既可以存储 资源 数据值,也可以存储 模块 代码值。如上述伪代码所示,每个 address
最多只能存储一个给定类型的资源值和一个给定名称的模块。