Я хочу хранить ха sh дайджест файлов в цепочке субстратов. Таким образом, для пользователя Алиса существует массив с именем files
, который имеет все дайджесты ha sh. И я хочу иметь возможность добавлять в массив.
Мой текущий код просто обновляет значение, но я хочу иметь возможность обновлять, удалять и добавлять значения ha sh.
use support::{decl_storage, decl_module, StorageMap, dispatch::Result};
use system::ensure_signed;
use runtime_primitives::traits::{As, Hash};
use parity_codec::{Encode, Decode};
#[derive(Encode, Decode, Default, Clone, PartialEq)]
#[cfg_attr(feature = "std", derive(Debug))]
pub struct Kitty<Hash, Balance> {
id: Hash,
dna: Hash,
price: Balance,
gen: u64,
}
pub trait Trait: balances::Trait {}
decl_storage! {
trait Store for Module<T: Trait> as KittyStorage {
OwnedKitty get(kitty_of_owner): map T::AccountId => Kitty<T::Hash, T::Balance>;
}
}
decl_module! {
pub struct Module<T: Trait> for enum Call where origin: T::Origin {
fn create_kitty(origin) -> Result {
let sender = ensure_signed(origin)?;
let new_kitty = Kitty {
id: <T as system::Trait>::Hashing::hash_of(&0),
dna: <T as system::Trait>::Hashing::hash_of(&0),
price: <T::Balance as As<u64>>::sa(0),
gen: 0,
};
<OwnedKitty<T>>::insert(&sender, new_kitty);
Ok(())
}
}
}
Официальный учебник не обсуждает сохранение значений. Это действительно обсуждает разговор о перечислении позже, но я не мог понять это.