Options pour gérer les commentaires de transaction côté serveur

Tu as raison, je me suis trompé, les événements sont purgés au delà du nombre de bloc configuré par l’option purge (256 par défaut je crois), mais les opérations qui les déclenchent sont conservés (extrinsics) même si pas accessibles dans le storage vide des nœuds purgés.

Si l’on en crois la doc de Substrate, un nœud Full, contient tout ce qu’il faut pour reconstruire un nœud archive, ie. pour reconstruire tous les états du storage pour historique.

Although older blocks are discarded, full nodes retain all of the block headers from the genesis block to the most recent block to validate that the state is correct. Because the full node has access to all of the block headers, it can be used to rebuild the state of the entire blockchain by executing all of the blocks from the genesis block. Thus it requires much more computation to retrieve information about some previous state, and an archive should generally be used instead.

Source

Donc un extrinsic de création d’identité avec l’info du “pseudo”, est forcément stocké dans la BDD RocksDB du full node, ad vitam, pour pouvoir être rejoué par un nœud archive. Le pseudo est stocké aussi dans un événement qui est déclenché par l’extrinsic, mais purgé. Attention, ce n’est pas parce qu’on ne peut pas obtenir les extrinsics des blocs purgés via l’API qu’il ne sont plus en BDD ! (je crois que cela fait partie de la confusion).

A partir du moment où une info comme les “pseudos” et les futures “hash de commentaire” ou “commentaire” peut “réapparaître” dans un nœud archive qui execute tous les blocs d’un Full node depuis le genesis, alors ces infos sont forcément dans la BDD rocksDB de tous les nodes, dans les extrinsics à mon avis (puisque les événements sont purgés complètements).

Amha.