de Niharika Singh

Învață făcând: o introducere drăguță și ușoară în sistemul de fișiere inter planetare

Invata facand o introducere draguta si usoara in sistemul de

Primer pentru IPFS

IPFS este prescurtarea pentru sistemul de fișiere inter planetare. Este un sistem de fișiere distribuit peer-to-peer, pentru a crea fișierul web mai rapid, mai sigur și mai deschis. Pentru a trece de la versiunea actuală a webului la o versiune distribuită a webului, avem nevoie de IPFS. În esență, scopul este înlocuirea HTTP.

NU există servere centralizate. Totul este descentralizat. Să vedem cum funcționează acest lucru.

Am scris un articol despre modul în care IPFS folosește MerkleDAG, care poate fi găsit aici.

PASUL 1: Instalați IPFS

Versiunea alfa IPFS este scrisă în GoLang. Va trebui să-l descărcați pentru platforma dvs. de la acest link.

Pentru a verifica dacă ați instalat cu succes IPFS, deschideți consola de comenzi și introduceți următoarea comandă.

$ ipfs help

Dacă vedeți ceva care începe astfel:

USAGE
ipfs - Global p2p merkle-dag filesystem.
ipfs [--config=<config> | -c] [--debug=<debug> | -D] [--help=<help>] [-h=<h>] [--local=<local> | -L] [--api=<api>] <command> ...

Atunci ești bine să pleci!

Invata facand o introducere draguta si usoara in sistemul de

Pasul 2: inițializați nodul IPFS

Pentru a inițializa mașina locală ca nod IPFS, rulați următoarea comandă:

$ ipfs init

Această comandă inițializează fișierele de configurare IPFS și generează o nouă pereche de chei utilizând 2048 bit-RSA. Aceasta vă va produce identitate de la egal la egal ca o ieșire.

Veți vedea așa ceva:

initializing IPFS node at /Users/niharikasingh/.ipfs
generating 2048-bit RSA keypair...done
peer identity: QmTo1oMgGEH6Ym3H1xF55U7q4bexd5288YmEJjubDqVmKn
to get started, enter:
ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme

Veți avea o identitate de coleg diferită de a mea.

Acum executați următoarea comandă pentru a vedea mesajul de salut:

$ ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme

Veți vedea un rezultat care arată astfel:

Hello and Welcome to IPFS!
██╗██████╗ ███████╗███████╗
██║██╔══██╗██╔════╝██╔════╝
██║██████╔╝█████╗  ███████╗
██║██╔═══╝ ██╔══╝  ╚════██║
██║██║     ██║     ███████║
╚═╝╚═╝     ╚═╝     ╚══════╝
If you're seeing this, you have successfully installed
IPFS and are now interfacing with the ipfs merkledag!
-------------------------------------------------------
| Warning:                                              |
|   This is alpha software. Use at your own discretion! |
|   Much is missing or lacking polish. There are bugs.  |
|   Not yet secure. Read the security notes for more.   |
-------------------------------------------------------
Check out some of the other files in this directory:
./about
./help
./quick-start     <-- usage examples
./readme          <-- this file
./security-notes

Voilà!

Pasul 3: Adăugați câteva fișiere la IPFS

Creați un folder demo oriunde pe mașina dvs. și aruncați câteva fișiere. Orice tip de fișiere: imagini, videoclipuri, muzică … literalmente orice. Puteți adăuga chiar și un alt folder în acest folder.

1611195966 47 Invata facand o introducere draguta si usoara in sistemul de
Așa arată folderul meu demonstrativ.

Să presupunem că folderul este numit „Test-ipfs”. Deci, pentru a împinge aceste fișiere, navigați mai întâi în acest folder de pe linia de comandă și apoi executați următoarea comandă:

$ ipfs add -r .

Această comandă adaugă toate fișierele / directoarele prezente în folder la IPFS recursiv pentru a crea IPFS MerkleDAG. Puteți adăuga chiar și un singur fișier utilizând următoarea comandă: $ ipfs add <filename.extensipe>

Aceasta creează următoarea ieșire:

added QmSTuTEThyESvDgmYdao2HK6kurXe2pqjA1KHPD8wSHVy7 test-ipfs/donut.jpeg
added QmSR9MJ5resQLjwqy7kEVVKJwTvDG53Npt9i1c6jZeZDtW test-ipfs/purse.jpeg
added QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn test-ipfs/folder1
added QmaKZ3dnc9ejBdGgEDCRtsLFNRxcY67HLjk6gXUnk9sdM9 test-ipfs

Veți observa că acest lucru lung este hashul unic al fișierului respectiv. Toate fișierele și directoarele, precum și folderul părinte, vor avea hashul lor unic.

$ ipfs ls QmaKZ3dnc9ejBdGgEDCRtsLFNRxcY67HLjk6gXUnk9sdM9

Acest lucru funcționează exact ca sistemul de fișiere UNIX. Ieșirea preconizată va arăta următoarele:

QmSTuTEThyESvDgmYdao2HK6kurXe2pqjA1KHPD8wSHVy7 219859 donut.jpeg
QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn 4      folder1/
QmSR9MJ5resQLjwqy7kEVVKJwTvDG53Npt9i1c6jZeZDtW 110254 purse.jpeg

Dimensiunea fișierului este afișată la sfârșitul șirului de hash. De exemplu, 219859 este dimensiunea fișierului donut.jpeg.

Pasul 4: Accesați fișiere online

Pentru a accesa fișiere online, mai întâi trebuie să ne conectăm nodul la rețeaua IPFS. Pentru a face acest lucru, trebuie să rulăm demonul IPFS.

$ ipfs daemon

Aceasta va produce următoarea ieșire:

Initializing daemon...
Successfully raised file descriptor limit to 2048.
Swarm listening on /ip4/127.0.0.1/tcp/4001
Swarm listening on /ip4/169.254.100.132/tcp/4001
Swarm listening on /ip4/192.168.1.3/tcp/4001
Swarm listening on /ip6/::1/tcp/4001
Swarm listening on /p2p-circuit/ipfs/QmTo1oMgGEH6Ym3H1xF55U7q4bexd5288YmEJjubDqVmKn
Swarm announcing /ip4/127.0.0.1/tcp/4001
Swarm announcing /ip4/169.254.100.132/tcp/4001
Swarm announcing /ip4/192.168.1.3/tcp/4001
Swarm announcing /ip6/::1/tcp/4001
API server listening on /ip4/127.0.0.1/tcp/5001
Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080
Daemon is ready

Acum că ați împins fișierele către IPFS, să vedem cum le puteți accesa.

localhost:8080/ipfs/hashOfTheFileYouWantToOpen

Să presupunem că doresc să deschid poșeta.jpeg. Voi copia hash-ul purse.jpeg și voi lovi browserul cu sintaxa de mai sus.

1611195966 14 Invata facand o introducere draguta si usoara in sistemul de

În mod similar, puteți auzi chiar muzica, videoclipurile dvs. și așa mai departe.

Puteți accesa chiar și conținutul dvs. folosind gateway-ul IPFS:

gateway.ipfs.io/ipfs/hashOfTheFile
1611195967 538 Invata facand o introducere draguta si usoara in sistemul de
1611195968 657 Invata facand o introducere draguta si usoara in sistemul de

Ești pe cale să vezi magie adevărată acum!

Îndreptați browserul către:

127.0.0.1:5001/webui

Veți vedea acest ecran:

1611195968 280 Invata facand o introducere draguta si usoara in sistemul de

Simțiți-vă liber să jucați.

Conexiuni: Vă va arăta colegii dvs. din întreaga lume.

1611195969 813 Invata facand o introducere draguta si usoara in sistemul de
Cat de tare e asta!

Fișiere: Puteți împinge fișiere folosind webUI.

1611195969 520 Invata facand o introducere draguta si usoara in sistemul de

DAG: Vă va afișa MerkleDAG și va afișa informații conexe despre fișier atunci când este introdus hash-ul acestuia.

1611195970 734 Invata facand o introducere draguta si usoara in sistemul de

Configurare: Aceasta vă va arăta configurații despre propria mașină.

1611195970 713 Invata facand o introducere draguta si usoara in sistemul de

Pasul 5: Accesați fișiere de la colegii dvs.

IPFS promite că nu există un server central care să vă ofere fișierele. Deci, dacă vă spun că puteți transmite în flux videoclipuri de pe laptopul meu, chiar dacă demonul IPFS nu rulează pe computerul meu?

Am încărcat videoclipul Roar al lui Katy Perry online. Îl puteți accesa de la mine, mai degrabă decât să accesați YouTube.

Mergi la:

localhost:8080/ipfs/QmWPCbXCK4NGXKac1QoKHdW7Qqud481T5FLHzu7RnSRDGR/

Și bucură-te!

Veți transmite acest videoclip pe IPFS.

Puteți folosi chiar VLC Media Player pentru acest lucru.

Adresa URL utilizată:

http://localhost:8080/ipfs/QmWPCbXCK4NGXKac1QoKHdW7Qqud481T5FLHzu7RnSRDGR/Katy%20Perry%20-%20Roar%20%28Official%29.mp4
1611195971 948 Invata facand o introducere draguta si usoara in sistemul de
1611195971 434 Invata facand o introducere draguta si usoara in sistemul de

Simțiți-vă liber să jucați cu IPFS. Aceasta a fost o prezentare foarte scurtă. Dar sper că ai o idee de bază despre ce este IPFS!