martedì 17 gennaio 2017

Distribuire applicazioni web con IPFS

IPFS è un protocollo di distribuzione di ipermedia, la sigla significa InterPlanetary File System (White Paper). Lo scopo principale di IPFS è rendere il web più veloce e sicuro. Il funzionamento di IPFS è basato su protocolli P2P e git. Lo scopo finale di IPFS è sostiture HTTP.

Alcuni punti di forsa di IPFS:
  • Contrariamente da quanto avviene in HTTP, le risorse richieste da un peer vengono richieste da altri peer.
  • I contenuti web per via della loro "dinamicità" hanno un vita molto breve, con IPFS vi è il versionamento tramite git, si mantiene traccia anche sulla dinamicità dei contenuti. (Lettura interessante sulla vita delle pagine web: https://jiscpowr.jiscinvolve.org/wp/2009/08/12/whats-the-average-lifespan-of-a-web-page/)
  • Attualmente vi è il pericolo di convergenza del controllo verso un unico punto (es. Contenuti solo su Facebook). IPFS contribuisce a distribuire il controllo sui vari peer che collaborano.
  • IPFS offre la tecnologia per affrontare danni alla rete in caso di: disastri naturale, censura del web.

La nostra prima applicazione web distribuita:

  • Installiamo ipfs seguendo il readme sul sito ufficiale
  • Creiamo una directory che conterrà la nostra applicazione
  • Aggiungiamo la directory: ipfs add -r DIRECTORY/ (verrà restituita una lista di hash)
  • Pubblichiamo la nostra applicazione: ipfs name publish HASHINDEX (verrà restituito un peerID e un hash)
  • Confermiamo la pubblicazione: ipfs name resolve PEERID.
  • Applicazione è subito disponibile in https://gateway.ipfs.io/ipns/PEERID



Fantastico intervento su IPFS di Juan Benet



Buon IPFS E buon lavoro!