Saltar al contenido

IPFS: ¿Cómo agregar un archivo a una carpeta existente?

Ya no necesitas investigar más por todo internet ya que estás al espacio perfecto, poseemos la solución que necesitas pero sin problema.

Solución:

Solo puedes hacerlo usando ipns después de descargarlo de nuevo con ipfs getque debería ser rápido si todavía está anclado a su almacenamiento local:

(1) primero agregue (es decir, vuelva a agregar) su carpeta a ipfs recursivamente: ipfs add -r /path/to/folder. La segunda columna de la última línea de salida estándar tiene el hash ipfs de la carpeta principal que acaba de agregar. (Los archivos originales siguen siendo los mismos, por lo que los valores hash también serán los mismos).

(2) luego publique ese hash: ipfs name publish /ipfs/. Esto devolverá su ID de compañero, y puede compartir el enlace como /ipns/; repita este paso (ipfs name publish) cada vez que cambia el contenido de la carpeta (y, por lo tanto, el hash de la carpeta principal). El objeto ipns siempre apuntará a la última versión de su carpeta.

(3) si planea compartir mucho, puede crear un nuevo par de claves para cada carpeta que comparta: ipfs key gen --type=rsa --size=2048 new-share-key … y luego usa eso key (en lugar de su valor predeterminado key) para publicar (y luego volver a publicar) esa carpeta: ipfs name publish --key=new-share-key /ipfs/

Consulte también la documentación aquí: https://ipfs.io/docs/commands/#ipfs-name-publish

Esto debería ser fácil con la API de archivos. Suponiendo que ya agregó el nuevo archivo a ipfs y obtuvo su hash, intente:

ipfs files cp /ipfs/QmExistingLargeFolderHash /folder-to-modify
ipfs files cp /ipfs/QmNewFileHash /folder-to-modify/new-file

Por supuesto, esto no agrega un archivo a una carpeta existente (porque las carpetas y los archivos son inmutables), solo crea una copia/nueva versión de la carpeta con un nuevo archivo agregado. Por lo tanto, tendrá un nuevo hash:

ipfs files stat /folder-to-modify

La API de archivos no ancla los archivos a los que se hace referencia ni recupera ninguna subcarpeta a menos que sea necesario, por lo que esto se puede hacer en cualquier nodo de la red sin incurrir en mucho tráfico.

[Edit]

Un rato después, me entero de que hay algunas cosas más que puedes hacer:

  • En vez de

    ipfs files cp /ipfs/QmNewFileHash /folder-to-modify/new-file
    

    puedes usar ipfs files write -te si aún no ha agregado el archivo a ipfs.

  • Puede habilitar funciones de escritura de la API HTTP para usar PUT solicitudes para obtener hashes de nuevas versiones de una carpeta. Ver esta entrada de blog.
  • Puede montar ipns a través de un fusible y escribir en …/ipns/local.
  • Y probablemente lo mejor: puedes usar ipfs object patch add-link /ipfs/QmExistingLargeFolderHash new-file /ipfs/QmNewFileHash para hacerlo en un solo paso

Si posees alguna incertidumbre o capacidad de avanzar nuestro tutorial eres capaz de realizar una glosa y con placer lo estudiaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *