cryptofoundry

联系 cryptofoundry

告诉我们您想构建或自动化的内容。

ipfs-node

ADAMANT IPFS Node v0.1.0

这是 ADAMANT IPFS Node 的首个标记版本,也是首个发布的容器镜像。它是一个用于应用程序文件交付的自托管 IPFS 存储节点,具备受限磁盘使用、确定性复制、修复、健康检查点及 REST API 等功能。该服务是一个独立的 Node.js 和 Helia 服务,而非 Kubo 的封装。

运行方式

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

该镜像不包含任何配置;请挂载一个配置文件至 /app/config.json5HOME 目录为 /data,因此单个 /data 卷即可存储块存储(blockstore)、数据存储(datastore)、libp2p 对等节点身份、固定集(pin set)、生命周期注册表、修复游标及健康检查点。仓库中的 docker/config.example.json5 是一个不加入任何网络的独立起始配置。该镜像专为 linux/amd64linux/arm64 构建,以非特权用户身份运行,并附带 SBOM 和来源证明。

功能特性

该节点提供基于 REST 的多部分文件上传功能,以及通过 CID 进行的内容寻址下载功能。它通过 TCP 协议在 Noise 和 Yamux 之上维护一个受控的对等节点网格,仅注册 identifyping 协议。存储生命周期通过磁盘预留、聚合请求限制、带 TTL 的临时上传以及基于水位线的垃圾回收机制进行限制。数据放置采用基于 rendezvous 哈希的确定性算法,副本数量会随着文件存续时间的增加而减少。跨节点复制和可恢复的修复周期通过经握手认证的 libp2p 协议运行。具备网络感知能力的健康检查点包含单调递增的高度和显式的成员资格纪元(epoch)。针对每个端点的速率限制和准入控制适用于并发上传和下载。

边界限制

该节点不包含 DHT、IPNS、公共网关,也不支持 Kubo API。存储在此处的内容不会向公共 IPFS 网络广播,且仅存在于公共网络上的内容也无法通过此节点获取。受控的对等节点拓扑结构减少了内容路由元数据的公开暴露,但这本身并不意味着部署环境是私密的、匿名的、无需信任的或抗审查的。上传和下载在设计上均未经身份验证;唯一的凭据是一个管理密钥。上传者签名的删除功能 (#27)、对等节点发现 (#28)、流量统计 (#29)、绝对数据目录 (#30) 以及公共网络互操作性 (#31) 等功能尚在开发中。