标签: near-sdk-rs

NearProtocol中,如何迁移合约状态

假设有一个用 Near-sdk-rs 编写的合同,已部署,状态定义为:

#[near_bindgen]
#[derive(BorshDeserialize, BorshSerialize)]
pub struct NFT {
    pub tokens: UnorderedMap<TokenId, Token>,
}

#[derive(BorshDeserialize, BorshSerialize)]
pub struct Token {
   pub owner: AccountId
}
Run Code Online (Sandbox Code Playgroud)

现在这个合约有一些用途,因此一些记录tokens存储在链上。然后我想通过添加一个字段来更新这个合同Token

pub struct Token {
   pub owner: AccountId
   pub name: String // For existing ones, this will be set to ""
}
Run Code Online (Sandbox Code Playgroud)

如何在保留现有状态的情况下执行此操作(类似于执行数据库迁移)?

nearprotocol near-sdk-rs

5
推荐指数
2
解决办法
48
查看次数

标签 统计

near-sdk-rs ×1

nearprotocol ×1