Ça a changé grâce à @cgeek et moi. Au début effectivement Elois avait uniquement mis le hash Blake2_128
#[pallet::storage]
type IdentitiesNames<T: Config> = StorageMap<_, Blake2_128, IdtyName, (), OptionQuery>;
Mais maintenant :
- cgeek a mis
Blake2_128Concat
qui permet d’avoir le pseudo également dans la clé - j’ai mis
IdtyIndex
en valeur plutôt que()
qui permet d’avoir l’identité en question
#[pallet::storage]
type IdentitiesNames<T: Config> = StorageMap<_, Blake2_128Concat, IdtyName, T::IdtyIndex, OptionQuery>;
Cf la doc sur IdentitiesNames in pallet_identity::pallet - Rust
Par contre l’inverse n’est pas vrai : si tu as uniquement la clé ou l’index, pour trouver le pseudo sans parcourir toute la map (ce qui reste assez léger), il faut passer par l’indexeur squid.
Mais il y a déjà eu beaucoup de discussions à ce sujet, qui aboutissent plutôt à la conservation d’un pseudo unique.
Pour les données qui changent il y a les datapods.