cryptofoundry

Contactar con cryptofoundry

Cuéntanos qué quieres construir o automatizar.

Correo electrónico
[email protected]
ADAMANT Messenger
Abrir en ADAMANT
ipfs-node

ADAMANT IPFS Node v0.1.0

Esta es la primera versión etiquetada de ADAMANT IPFS Node y la primera imagen de contenedor publicada. Se trata de un nodo de almacenamiento IPFS autohospedado para la entrega de archivos de aplicaciones, que cuenta con uso de disco limitado, replicación determinista, reparación, puntos de control de estado y una API REST. Es un servicio independiente basado en Node.js y Helia, no un contenedor de Kubo.

Ejecución

docker volume create ipfs-node-data

docker run -d \
  --name ipfs-node \
  --restart unless-stopped \
  --stop-timeout 20 \
  -v ipfs-node-data:/data \
  -v "$PWD/config.json5:/app/config.json5:ro" \
  -p 127.0.0.1:4000:4000 \
  -p 4001:4001 \
  ghcr.io/adamant-im/ipfs-node:0.1.0

La imagen no incluye configuración; debe montar una en /app/config.json5. HOME es /data, por lo que un único volumen en /data contiene el almacenamiento de bloques, el almacén de datos, la identidad de par libp2p, el conjunto de pines, el registro de ciclo de vida, el cursor de reparación y el punto de control de estado. El archivo docker/config.example.json5 en el repositorio es un punto de partida independiente que no se une a ninguna red. Compilado para linux/amd64 y linux/arm64, ejecutándose como un usuario sin privilegios, con un SBOM y una certificación de procedencia adjunta.

Contenido

El nodo proporciona carga REST de archivos multipart y descarga direccionada por contenido mediante CID. Mantiene una malla de pares controlada sobre TCP con Noise y Yamux, registrando únicamente los protocolos identify y ping. El ciclo de vida del almacenamiento está limitado mediante reserva de disco, límites de solicitudes agregadas, cargas temporales con TTL y recolección de basura basada en marcas de agua. La ubicación es determinista mediante hashing de encuentro (rendezvous hashing), con recuentos de copias que disminuyen a medida que el archivo envejece. La replicación entre nodos y un ciclo de reparación reanudable operan sobre un protocolo libp2p autenticado por el protocolo de enlace (handshake). Los puntos de control de estado conscientes de la red incluyen una altura monótona y una época de membresía explícita. Se aplican límites de tasa por punto final y control de admisión a las cargas y descargas simultáneas.

Limitaciones

No existe DHT, IPNS, puerta de enlace pública ni API de Kubo. El contenido almacenado aquí no se anuncia en la red IPFS pública, y el contenido que existe solo en la red pública no puede obtenerse a través de este nodo. Una topología de pares controlada reduce la exposición pública de los metadatos de enrutamiento de contenido, pero por sí sola no hace que una implementación sea privada, anónima, sin confianza (trustless) o resistente a la censura. La carga y descarga no están autenticadas por diseño; la única credencial es una clave administrativa. La eliminación firmada por el cargador (#27), el descubrimiento de pares (#28), la contabilidad de tráfico (#29), un directorio de datos absoluto (#30) y la interoperabilidad con la red pública (#31) son tareas pendientes.