【发布时间】:2021-06-03 12:31:56
【问题描述】:
我有一个部署到 NEAR 协议的 Rust 智能合约,现在我想更新它并添加属性以实现持久性。但是合约已经有了状态,如果调用新版本我会得到错误Cannot deserialize the contract state。
这是更新后的状态结构(我想在其中添加另一个 HashMap):
#[near_bindgen]
#[derive(Default, BorshDeserialize, BorshSerialize)]
pub struct RepositoryPermission {
permission: HashMap<String, HashMap<String, Permission>>,
invitations: HashMap<InvitationId, Invitation>, // I want to add this HashMap
}
为持久化添加新属性的最佳方式是什么?
【问题讨论】:
标签: rust nearprotocol near-sdk-rs