
Commençons par une description de base d’IPFS :
IPFS est un système distribué qui vous permet de stocker et d’accéder à des fichiers, des pages Web, des applications et des données.
Qu’est-ce que cela signifie exactement? Supposons que vous meniez une étude sur le Seadragon feuillu. Saviez-vous qu’ils sont classés comme une espèce protégée en Australie-Méridionale et qu’ils n’ont pas de prédateurs connus ? Pour commencer, rendez-vous sur la page Wikipedia sur seadragon à :
https://en.wikipedia.org/wiki/Leafyseadragon.
Lorsque vous entrez cette URL dans la barre d’adresse de votre navigateur, votre ordinateur demande la page Leafy seadragon à l’un des ordinateurs de Wikipedia, qui peut se trouver à l’autre bout du pays (ou peut-être du monde).
Nouveau dans le commerce ? Essayez des bots de trading de crypto ou copiez le trading
Cependant, ce n’est pas votre seul choix pour répondre à vos demandes de dragon de mer feuillu ! Il existe un miroir IPFS de Wikipedia que vous pourriez utiliser à la place. Si vous utilisez IPFS, votre ordinateur demandera le site Web Leafy Seadragon comme suit :
/ipfs/QmXoypizjW3WknFiJnKLwHCnL72vedxjQkDDP1mXWo6uco/wiki/Leafy seadragon.html
IPFS peut découvrir ces délicieuses informations sur le Seadragon feuillu en fonction de son contenu plutôt que de son emplacement. La version IPFS-ifiée des informations Leafy Seadragon est représentée par la chaîne de chiffres au milieu de l’URL (QmXo…), et plutôt que de demander à l’un des systèmes informatiques de Wikipedia pour la page, votre ordinateur utilise IPFS pour demander un grand nombre. d’ordinateurs partout dans le monde pour partager la page avec vous. Il peut obtenir des informations sur le dragon de mer feuillu de n’importe qui, pas seulement de Wikipédia.
Lorsque vous utilisez IPFS, vous n’obtenez pas simplement des choses d’ailleurs ; votre ordinateur contribue également à leur diffusion. Lorsque votre voisin ou toute personne utilisant IPFS veut le même article Wikipédia que vous, il peut être tout aussi susceptible de l’obtenir de vous que de votre voisin ou de toute personne utilisant IPFS.
IPFS permet cela pour tout type de fichier qu’un ordinateur peut stocker, comme un e-mail, un document ou même un enregistrement de base de données.
Il existe différentes distributions IPFS et méthodes d’installation. Cependant, cet article utilisera le programme d’interface de ligne de commande multiplateforme. L’interface de commande est largement documentée et large. Ne soyez pas intimidé par le grand nombre d’instructions ; vous n’aurez besoin que de quelques-unes faciles pour démarrer avec IPFS.
Vous devez d’abord générer un ID pair avant de pouvoir l’utiliser. Ouvrez un terminal et tapez la commande suivante :
La signification de cette commande et son résultat seront décrits plus en détail ultérieurement ; pour l’instant, passez simplement à l’étape suivante.
Voyons si nous pouvons publier cette image PNG. Une fois que vous l’avez enregistré sous ipfs-logo.pnglancez un terminal dans le répertoire où il est stocké et tapez la commande suivante :
ipfs add ipfs-logo.png
Le résultat sera le suivant :
added QmbYq2pMi91Xd5Hu6Z1edrvP4BwJXCH9HhRX8Tk99DJWG6 ipfs-logo.png
Un multihash est une longue chaîne qui commence par Qm… C’est un identifiant unique dérivé du contenu du fichier. Peu importe quand et à quelle fréquence un fichier est réédité, ce sera toujours le même pour ce fichier particulier.
Il est tout aussi simple de récupérer le fichier :
ipfs get QmbYq2pMi91Xd5Hu6Z1edrvP4BwJXCH9HhRX8Tk99DJWG6 --output out.png
La – -production Le paramètre vous permet de fournir le nom du fichier téléchargé.
Vous pouvez même publier un répertoire entier avec des fichiers et des répertoires imbriqués simultanément. Pour ce faire, ajoutez le -r (court pour — récursif) paramètre au ajouter commande. Placez le fichier logo dans le logo répertoire, puis exécutez :
ipfs add -r logo
Le résultat sera le suivant :
added QmbYq2pMi91Xd5Hu6Z1edrvP4BwJXCH9HhRX8Tk99DJWG6 logo/ipfs-logo.png added QmU1muwAeYjHX1kUnYEXPWEhnFxcVGS6wv8tggoHLHkm3f logo
L’identification du répertoire apparaît sur la ligne du bas. Il est possible d’y accéder en utilisant ipfs obtenircomme un seul fichier.
Chaque fichier du répertoire peut être identifié par son chemin relatif vers le répertoire parent. Chaque fichier, cependant, a reçu une identification unique. Sans contexte de répertoire, un fichier spécifique est accessible par son multihash. Dans notre exemple, les commandes suivantes doivent renvoyer le même fichier sans récupérer tout le répertoire :
ipfs get QmU1muwAeYjHX1kUnYEXPWEhnFxcVGS6wv8tggoHLHkm3f/ipfs-logo.png ipfs get QmbYq2pMi91Xd5Hu6Z1edrvP4BwJXCH9HhRX8Tk99DJWG6 --output ipfs-logo2.png
Vous venez de publier des fichiers sur votre stockage IPFS local et de les récupérer. Cependant, votre fichier n’est pas encore accessible au monde entier. Pour ce faire, vous devez d’abord lancer un nœud IPFS :
ipfs daemon
Le nœud fonctionne à la fois comme serveur et comme client. Il sera lié à plusieurs autres nœuds et partagera des informations sur le matériel disponible. Vous pouvez voir quels nœuds vous sont liés en saisissant :
ipfs swarm peers
Le résultat comprendra plusieurs lignes comme celles-ci (les adresses exactes et les hachages peuvent varier) :
/ip4/99.7.131.248/tcp/4001/ipfs/Qmf3KKqHdL1fUDiguRsTojXBBrqR94yx4EUd8EesXogcSs /ip6/2604:a880:cad:d0::17:2001/tcp/4001/ipfs/QmUR8d2WLbNcAFRMWn3SMdBRDhJugZUezfwLkDYti3Gc3w
Chaque ligne représente la multi-adresse d’un nœud IPFS. Il comprend un emplacement réseau IP (adresse et port) et une identification de pair distincte. L’adresse du nœud peut changer (lorsque votre ordinateur portable va d’un endroit à un café, par exemple), mais l’ID pair reste constant.
Aucun nœud ne peut concevablement stocker toutes les données jamais publiées. Cela indique que votre nœud peut choisir de supprimer certaines des données. Cela implique également que vous ne pouvez pas compter entièrement sur vos pairs : si personne n’est intéressé à conserver vos données, elles peuvent tout simplement disparaître du réseau.
Vous pouvez épingler l’identification de l’objet de données pour l’empêcher de disparaître. Cela garantit que les données ne seront pas effacées si votre nœud local décide de libérer de l’espace.
Étant donné que les fichiers que vous avez téléchargés sont automatiquement épinglés, épinglons quelque chose que vous n’avez pas encore :
ipfs pin add /ipfs/QmNhFJjGcMPqpuYfxL62VVB9528NXqDNMFXiqN5bgFYiZ1/its-time-for-the-permanent-web.html
Le résultat devrait être le suivant :
pinned Qmcx3KZXdANNsYfSRU1Vu4pchM8mvYXH4N8Zwdpux57YNL recursively
Ce processus télécharge également les données sur votre ordinateur pour s’assurer qu’elles ne disparaissent jamais. Cependant, le récupérer devrait être un jeu d’enfant maintenant :
ipfs get Qmcx3KZXdANNsYfSRU1Vu4pchM8mvYXH4N8Zwdpux57YNL -o article.html
Malgré le fait que le fichier ne faisait que 26 Ko, la dernière action a peut-être pris un certain temps. Cela se produit parce que les données doivent d’abord être identifiées jusqu’à ce qu’elles puissent être enregistrées.
Le bloc de données demandé peut être stocké sur n’importe quel nœud IPFS dans le monde. Étant donné qu’il est peu probable que votre nœud local maintienne des liens directs vers tous les autres serveurs ou conserve un enregistrement de chaque bloc ajouté ailleurs, la localisation du nœud correct peut prendre un certain temps.
Les informations sur quel nœud contient quels blocs sont organisées dans une table de hachage distribuée, qui est répartie entre les nœuds de la même manière que les données. Lors de la recherche de données spécifiées par un hachage spécifique, votre nœud doit d’abord découvrir le nœud avec ce bloc. Le nœud demande plusieurs de ses pairs immédiats, donc si l’un d’eux a le bloc en question, la recherche est terminée. Si un pair ne détient pas les données, il fait la même requête à ses pairs jusqu’à ce que le gardien du bloc de données soit découvert.
Les nœuds du réseau sont configurés de manière à ce que cette procédure ait un temps système minimal, et l’ensemble du réseau peut être traversé en quelques minutes. Cependant, dans le pire des cas, la recherche peut prendre plusieurs minutes. Cela est vrai pour les données récemment publiées, et savoir que votre collègue assis à côté de vous les a publiées peut être aggravant. Heureusement, vous pouvez éviter la recherche mondiale si vous savez déjà où la chercher.
Rappelez-vous le Qm… hacher que le initialiser commande imprimée? C’était l’ID de pair de votre nœud, après tout. Lorsque vous tapez la commande, elle sera présentée avec quelques informations supplémentaires, alors ne vous inquiétez pas si vous avez oublié de l’écrire.
L’objet JSON résultant comprendra divers champs. Pour le moment, le plus important est l’ID de nœud.
Si vous connaissez l’ID de nœud qui doit contenir les données souhaitées, vous pouvez contourner la recherche fastidieuse en fournissant une connexion directe avec ce nœud. Pour ce faire, utilisez la commande :
ipfs swarm connect /ipfs/Qm...
remplacement de l’ID du nœud pour le Qm… chemin
Votre nœud IPFS doit d’abord rechercher un nouveau pair avant de se connecter. Cette étape peut également être ignorée si vous connaissez la multi-adresse complète du nœud distant. Dans un tel scénario, vous pouvez exécuter la même commande avec la multiadresse complète en entrée, comme indiqué ci-dessous :
ipfs swarm connect /ip4/<IP address>/tcp/<port number>/ipfs/<peer ID>
IPFS peut fonctionner sur divers protocoles réseau et un nœud écoute souvent sur de nombreuses interfaces réseau. Par conséquent, un nœud aura souvent de nombreuses multi-adresses avec des formes quelque peu variées.
Chacun contient l’ID de l’homologue et des informations sur la manière d’y accéder (par exemple, une adresse et un port IPv5).
Vous pouvez également récupérer les adresses du nœud à l’aide de ses ID d’homologue :
ipfs dht findpeer Qm...
Il est possible que votre collègue du poste de travail à côté du vôtre ait téléchargé un bloc de données – par exemple, une nouvelle version de Fury – mais vous n’arrivez pas à l’obtenir ou même à vous connecter à son nœud IPFS. La raison la plus courante de ces problèmes est une connexion réseau, telle qu’un pare-feu qui empêche les machines d’un même réseau de communiquer entre elles. Les procédures suivantes vous aideront à déterminer l’origine du problème.
Essayez d’accéder aux données à l’aide d’une passerelle WWW. Le logo IPFS, par exemple, décrit au début de cet article, peut être vu à cette URL :
https://ipfs.io/ipfs/QmbYq2pMi91Xd5Hu6Z1edrvP4BwJXCH9HhRX8Tk99DJWG6
Cela prend généralement plusieurs minutes pour les données nouvellement publiées. Si, toutefois, la demande expire, l’une de ces choses se produit :
Le ou les nœuds qui contenaient le bloc de données sont actuellement hors ligne, ou le nœud qui a publié le bloc est déconnecté de l’ensemble du réseau, peut-être en raison d’un pare-feu réseau.
Si la passerelle récupère les données avec succès, mais que le nœud IPFS local n’a pas utilisé telnet pour voir si vous pouvez accéder à l’adresse et au port de l’homologue. Vous n’avez pas de chance si la connexion peut être établie. Le partage de données est toujours possible, mais pas dans tous les cas, uniquement via un troisième nœud auquel vous et votre pair pouvez accéder. Vous avez deux options pour résoudre le problème :
Discutez avec votre administrateur réseau de l’autorisation des connexions IPFS sur votre réseau local.
L’hébergement de vos données chez l’un des fournisseurs d’épinglage peut les déplacer en dehors du réseau limité.
Source https://medium.com/coinmonks/beginners-guide-to-ipfs-kryptomind-d52ab0c7864d?source=rss—-721b17443fd5—4