¿ Que es ?
Es un sistema de archivos distribuidos en red por todo el internet, su funcionamiento esta basado en la colaboración de nodos que son puestos por los propios usuarios. Su formato interno de operación es muy similar a bit torrent en cuanto a que es un P2P , sin embargo no es exactamente igual, los archivos son calculados con sumatorias el hash resultante sirve para identificar el archivo lo que le da aun mas ventaja, pues subir 2 veces el mismo archivo haría simplemente que este disponible en mas lugares pero seria el mismo archivo y eso ayuda a la parte de cacheo. Cada que alguien sube un archivo, este archivo se copia a varios nodos a modo de cache para la distribución y evitar la censura
Su funcionamiento en consola es de lo mas simple basta con instalar el comando ipfs en el PATH de ejecución o la carpeta/directorio home de un usuario, esta escrito en GO por lo que no tiene dependencias, se debe crear un espacio para que el programa pueda trabajar y a partir de ahí subir, bajar archivos o borrar archivos son simples comandos que recuerdan a la consola de cualquier GNU/Linux y tambien tiene su administrador y cliente Windows de forma grafica para Windows y MacOS
Utilidades.
Es muy útil evitando la censura, debido a que todo lo que se sube se copia a otros nodos, aunque el nodo original quede desconectado, los demás nodos que son “ anónimos “ o al menos están muy ocultos ya que nunca se hace referencia a IP de host sino a puros hash de archivos quedan totalmente ocultos, mientras haya personas solicitando archivo , este se copiara a mas nodos y solo mediante el olvido, cuando nadie descarga el archivo que este será borrado de los nodos. Tampoco requiere un cliente, los directorios y los archivos puede ser descargados desde un URL de cualquier navegador de internet, solo se debe conocer el hash del archivo o directorio a visualizar
Servicios que ya usan de base a ipfs
Algunos sitios como https://d.tube que es un sitio que compite con https://www.youtube.com están usando ifps como almacenamiento para sus videos, con esto se están brincando las censuras y los strike de youtube, esto permite que se pueda hablar libremente de cualquier tema sin pensar que youtube te va a bloquear por decir alguna palabra o por un tema polémico
Uso básico de ipfs
Inicializar ipfs
Ipfs init
Prepara un directorio en el home del usuario llamado .ipfs , el nombre empieza con punto para ser un directorio oculto que solo debe ser manipulado por ipfs y no por el usuario.
Ipfs daemon &
Mantiene corriendo ipfs, el & permite mándalo a background para cerrar sesión y que estes siga operando como servicio en un Linux
Listar directorio
ipfs files ls -l
files contiene sub parámetros como ls, cd , mkdir, rm, etc, en este caso el ls muestra los directorios que ipfs esta manejando en el host, con -l se muestra el hash que podría ser usado para visualizarlo desde un navegador o para descargar usando el propio ipfs
Respuesta
dtube/ QmVxRu2iCmLW1Yt2kMkP7C3YPczNzP18XMx8DdqyUD1BBv 0
ipfs files ls /dtube -l
En este ejemplo listo el contenido del directorio dtube ojo la / hace referencia al root de ipfs no al root del sistema operativo GNU/Linux, los siguientes videos los tengo publicados en dtube pero conociendo el hash se pueden visualizar directamente en el navegador
Respuesta:
linuxescritorio.mp4 QmVhPJuVuP2p1rJuJCY3n8ZLUm8qcQuGK4BJQU7WyERYu7 991401888
quagga.mp4 QmTyvKjCrs9yxKRrcvtf8euGVApWsngf5V2tmwpJFHYxFP 1753581930
A partir de aquí creo que es fácil deducir que
Ipfs files mkdir /directorio , va a crear un directorio o que ipfs files rm /directorio/archivo va a borrar un archivo
Como subo yo archivo al sistema ipfs
Yo uso cat y pipes de la siguiente forma
cat Fedora-Workstation-Live-x86_64-33-1.2.iso | ipfs files write –create /dtube/Fedora-Workstation-Live-x86_64-33-1.2.iso
Esto pasaria el flujo de datos del archivo Fedora-Workstation-Live-x86_64-33-1.2.iso a ipfs que a su vez los escribiría creando el archivo en el directorio que previamente debe existir llamado dtube
Como descargar por un navegador cualquier archivo conociendo el hash
virtio-win.iso QmYmMXE81pMrSEEGECXbj7qLvCt8BTz8MisfbzhyxXC3YU 371732480
Como URL: https://ipfs.io/ipfs/QmYmMXE81pMrSEEGECXbj7qLvCt8BTz8MisfbzhyxXC3YU
Usando IPFS: ipfs get QmYmMXE81pMrSEEGECXbj7qLvCt8BTz8MisfbzhyxXC3YU
El archivo que se descargara tendrá por nombre el hash QmYmMXE81pMrSEEGECXbj7qLvCt8BTz8MisfbzhyxXC3YU , si no te gusta deberías renombrarlo a un nombre que te guste por ejemplo en GNU/Linux
mv QmYmMXE81pMrSEEGECXbj7qLvCt8BTz8MisfbzhyxXC3YU virtio-win.iso
Se adjunta video de forma práctica sobre el tema
Invertiste en FileCoin?