简介

Byte-level access to (virtual) stable memory.

——ExperimentalStableMemory

截至目前,每个canister最多可分配4GiB,即65536页内存,每页内存为64KiB(65536bytes)。

我们可以使用grow()函数申请内存页,使用size()函数获取当前已分配页数。

let size : () -> (pages : Nat64)
let grow : (new_pages : Nat64) -> (oldpages : Nat64)

若要往StableMemory中存储blob,可使用storeBlob()函数:

let storeBlob : (offset : Nat64, value : Blob) -> ()

offset处开始写入blob,越界则会Trap。

offset单位为bytes,可以视为保存了线性内存上即将开始写入的地址的指针。

—— 未完待续 ——

Unknown-37
— Motoko —

A Student on the way to full stack of Web3.