使用接近sdk的rust初始化LookupMap



我目前正在开发一个合同,我想在其中使用LookupMap,但我不清楚如何初始化它

// Just a structyre
pub struct Gift {
url: String,
n_tokens_required: usize,
current_tokens: usize,
}
// Main contract code
#[near_bindgen]
#[derive(BorshDeserialize, BorshSerialize)]
pub struct Voting { // TODO: Rename this class
pub gifts: LookupMap<String, Vector<Gift>>,
pub contract_owner: String,
}
impl Default for Voting {
fn default() -> Self {
Voting {gifts: LookupMap::new(), contract_owner: env::current_account_id()}
}
}

因此,我希望我的合同的礼物属性是签名为LookupMap<String, Vector<Gift>>的LookupMap。如何在我的默认函数实现中初始化它?

当我尝试执行LookupMap::new()时,它说我需要一个具有IntoStorageKey特性的参数key_prefix,但我不清楚这个参数到底是什么。

有人能帮我更好地理解这一点吗?

谢谢!

您将在本页找到答案https://www.near-sdk.io/contract-structure/collections

相关内容

  • 没有找到相关文章

最新更新