#substrate #polkadot
#субстрат #полькадот
Вопрос:
Вот моя структура:
#[derive(PartialEq, Eq, PartialOrd, Ord, Default, Clone, Encode, Decode, TypeInfo)] #[cfg_attr(feature = "std", derive(Debug))] pub struct SortitionSumTreelt;AccountIdgt; { pub k: u128, pub stack: Veclt;u128gt;, pub nodes: Veclt;u128gt;, pub ids_to_tree_indexes: BTreeMaplt;AccountId, u128gt;, pub node_indexes_to_ids: BTreeMaplt;u128, AccountIdgt;, }
Мое хранилище:
#[pallet::storage] #[pallet::getter(fn sortition_sum_trees)] pub type SortitionSumTreeslt;Tgt; = StorageMaplt;_, Blake2_128Concat, Veclt;u8gt;, SortitionSumTreelt;Tgt;gt;;
Но это дает ошибку:
эта черта parity_scale_codec::Encode
не реализована для std::collections::BTreeMaplt;u128, Tgt;
Ответ №1:
Вам нужно использовать это:
#[pallet::getter(fn sortition_sum_trees)] pub type SortitionSumTreeslt;Tgt; = StorageMaplt; _, Blake2_128Concat, Veclt;u8gt;, SortitionSumTreelt;T::AccountIdgt; gt;;
Обязательно используйте T::Идентификатор SortitionSumTreelt;T::AccountIdgt;
учетной записи .