Qui a mis Cesium sur une site IPFS ? :)

Je viens de me rendre compte qu’il suffit d’écrire le hash du répertoire dans un fichier du répertoire pour chainer les data dans leur historique.

IWALLETS=$(su $YOU -c "ipfs add -rq './wallets' | tail -n 1")
echo $IWALLETS > './wallets/hashchain'
NODEWALLETS=$(su $YOU -c "ipfs name publish --quieter /ipfs/$IWALLETS")

Cette fonction appelée à chaque publication IPFS mémorise l’état précédent. Et chaque node publie l’état actuel à tous les nodes du swarm avec son propre ID. On récupère l’état de chacun en parcourant la liste du swarm.

for NODEWALLETS in $(su $YOU -c "ipfs swarm peers" | awk -F '/' '{print $7}');
do
    count=$((count+1))
    su $YOU -c "ipfs get --output=./wallets_$NODEWALLETS/ /ipns/$NODEWALLETS"
done

On ouvre la chaine avec:

MAILLON=$(ipfs cat /ipfs/$(ipfs cat /ipns/$NODEWALLETS/hashchain)/hashchain)

puis on remonte la chaine…

MAILLON=$(ipfs cat /ipfs/$MAILLON/hashchain)

Du coup si les noeuds IPFS du swarm sont cohérents (partagent les bonnes clefs de chiffrage), ils se fabriquent et partagent un répertoire de leur filesystem comme une base de donnée! G1sms+ est bâti la dessus

2 Likes