Qui a mis Cesium sur une site IPFS ? :)

Hop!! Hop!
Voilà publié la même version du code de Cesium que https://cesium.madeinzion.org dans mon swarm privé IPFS.

https://ipfs.copylaradio.com/ipfs/QmYTg4cQ9rGZjkoSVbcctNqhBRTMSt8W9jM7HFb1oCMGGi/#/app/home

Il va rester « pinné » plus longtemps que sur la gateway ipfs.io
Par contre, je ne comprends pas pourquoi il n’arrive pas à se connecter à g1.madeinzion.org ??

Tu peux filer le lien ifps pour qu’on le teste ? Il est utilisable tel quel dans les paramètres de cesium ?

Voilà son ID QmYTg4cQ9rGZjkoSVbcctNqhBRTMSt8W9jM7HFb1oCMGGi
Mais actuellement, il est installé dans l’essaim privé que j’ai sous la main… donc seulement accessible depuis ma passerelle https://ipfs.copylaradio.com/ipfs/

Ce cas de figure garanti une meilleure performance, permet de valider le code (HASH), assure le backup (load-balancing). Faudra que je l’installe dans l’IPFS Globlal pour voir comment ça fonctionne, mais il faut ajouter une autre gateway à ajouter à celles de ipfs.io ou cloudflare-ipfs.com

Tu me dis s’il y a moyen de te rejoindre, je tente :wink:

J’aime bien les voies de traverse.

Ca va apparaitre… bientôt… Au travers des petites box qui enregistrent copylaradio.com
Musique, Films et Monnaie Libre sans plus aucun intermédiaire entre le spectateur et l’'artiste.

Pas seulement, des données structurées aussi, les fichiers sont qu’un “exemple” de données structurées.

Mais c’est vrai,

mais, non,

car il y’a IPNS, naming service, qui permet en gros d’accéder à un hash d’un noeud qui lui alias vers un hash de fichier ou dossier (t’accede tjs au meme hash, alors que le contenu incrémente de version).

Il suffirait alors soit de maintenir une liste de noeud de confiance seulement, ou bien faire un compagnon IPFS à côté de DUniter (opt-in) qui déclarerait cette capacité dans sa fiche de pair.
Alors le champs des possibles s’ouvrirait à

  • la synchro de la blockchain par IPFS (gestion type torrent, reel p2p, load-balancing
  • chaque noeud peux être une gateway IPFS (voir même en autarcie)
  • attachement de n’importe quoi dans une transaction par son hash (acte de propriété, média, elements d’identité)
  • comme dis, hébergement des données Cesium+, y compris privées, qui peuvent être gérées par clés et confiance à tel ou tel noeud (à voir, IPNS peux en fait linker plusieurs hashs de noeud à des références différentes, à l’aide de plusieurs pairs de clés de noeud)

“C’est juste l’hébergement” oui, mais décentralisé, voir morcelé / responsabilité-partagée, et crypté (par défaut) avec garantie d’inaltérabilité des statics client sans pb de piratage par DNS. Hébergement pouvant être de la données structurée (pas que des fichiers, voir IPLD).

Si si, le nom DApp va bien, mais comme dans Ethereum, IPFS ne fourni que des fichiers/données statiques (ou versionnées) et c’est la blockchain et les smart-contract qui font le métier/validation/modération, toute la logique que tu veux.

La DApp Cesium içi, serait un lot de fichier statiques qui font l’application, dans laquelle du JS fait des appels à l’API DUniter GraphQL par exemple, ou même à un autre noeud sur une API d’annonces (gchange) et/ou une API pour ci, une API pour là.

Dans IPFS aprés, lorsque tu structure ton arbre de données, tu peut très bien te créer des données “index” qui ne sont que des liens vers d’autres données (qui n’est donc pas dupliquée) mais partage une liste sous un certain ordre/filtre. C’est ensuite ton hash de noeud qui est mis a jour régulièrement (ajout/modif/suppr) avec les nouveaux indexs. L’app client n’a plus qu’a demander à tel ou tel noeud par son hash d’avoir l’index “ordre alpha des pseudo” ou encore “rangé par clé pub” ou encore “la liste des message adressé à clépub” ou encore “les annonces commençant par A”.

Par un réseau de confiance des noeud compatibles, du genre ActivityPub, les noeuds IPFS peuvent se parler (et même parler à un client) via des events pubsub (ils ont fait un orbit.chat en exemple…)


… plus j’avance dans la lecture des messages, plus je vois que @Frederic_Renault à déjà répondu :sweat_smile:


Enorme ce qu’ils ont fait! Je connaissait pas ce framework…

1 Like

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

Cesium1.3.11 dans IPFS est toujours en ligne !!!

Le hash de son code est gravé dans le marbre: QmdMEfCqihSKm2HTbGf4fMVnfttYoaq4rPgY9GxDmthuoN

Pour qu’il disparaisse, il faut que tous en retire le « pin » et lance leur « garbage collector »

@kimamila, tu pourrai officialiser la version que tu certifies en PROD en la publiant dans IPFS et publiant son HASH. En exploitant qq noeuds ipfs sur le réseau public, on peut maintenir une clef IPNS… Actuellement, mon réseau ipfs est en essaim privé. Mais je crois que @pytlin (d’autres?) ont des instances publiques en ligne??

2 Likes