【发布时间】:2021-07-06 13:26:05
【问题描述】:
假设有一个用 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
}
现在这个合约有一些用途,结果是一些tokens的记录存储在链上。
然后我想通过在Token 中添加一个字段来更新这个合同:
pub struct Token {
pub owner: AccountId
pub name: String // For existing ones, this will be set to ""
}
如何在保留现有状态的情况下执行此操作(类似于进行数据库迁移)?
【问题讨论】: