docker 部署ipfs节点并使用nodejs进行上传测试

IPFS 入门,Docker搭建ipfs集群 简介 IPFS是一个对等的分布式文件系统,它尝试为所有计算设备(ipfs矿机)连接同一个文件系统。在某些方面,IPFS类似于万维网,但它也可以被视作一个独立的BitTorrent群、在同一个Git仓库中交换对象。换种说法,IPFS提供了一个高吞吐量、按内容寻址的块存储模型,及与内容相关超链接。这形成了一个广义的Merkle有向无环图(DAG)。IPFS结合了分布式散列表、鼓励块交换和一个自我认证的命名空间。IPFS没有单点故障,并且节点不需要相互信任。分布式内容传递可以节约带宽,和防止HTTP方案可能遇到的 阅读详情

docker 部署ipfs节点


# 创建docker ipfs 映射目录
% mkidr -p /Users/domino/files/ipfs/ipfs_node/ipfs_data
% mkdir -p /Users/domino/files/ipfs/ipfs_node/ipfs_staging

# 创建临时变量
% export ipfs_staging=/Users/jiangwujie/files/ipfs/ipfs_node/ipfs_staging
% export ipfs_data=/Users/jiangwujie/files/ipfs/ipfs_node/ipfs_data

# docker 启动 ipfs节点
% docker run -d --name ipfs_host -v $ipfs_staging:/export -v $ipfs_data:/data/ipfs -p 4001:4001 -p 8080:8080 -p 5001:5001 ipfs/go-ipfs:latest
# 查看ipfs容器
% docker ps
CONTAINER ID   IMAGE                                       COMMAND                  CREATED          STATUS                    PORTS                                                                                        NAMES
24b518cb8ad9   ipfs/go-ipfs:latest                         "/sbin/tini -- /usr/…"   35 minutes ago   Up 35 minutes (healthy)   0.0.0.0:4001->4001/tcp, 0.0.0.0:5001->5001/tcp, 4001/udp, 0.0.0.0:8080->8080/tcp, 8081/tcp   ipfs_host

使用nodejs进行本地图片上传测试

const ipfsAPI = require('ipfs-api');

// create an instance of the ipfs api client with the address of the local node
const ipfs = ipfsAPI('localhost', '5001', {protocol: 'http'});

// read the image file from disk
const fs = require('fs');
const file = fs.readFileSync('/Users/domino/Downloads/jiagoutu.png');

// add the file to IPFS
ipfs.add(file, (err, result) => {
    if (err) {
        console.error(err);
        return;
    }

    console.log('Image uploaded to IPFS. IPFS hash:', result[0].hash);
});

执行测试,可以看到上传成功

% node src/testipfs.js 
{
  'api-path': '/api/v0/',
  'user-agent': '/node-ipfs-api/26.1.2/',
  host: 'localhost',
  port: '5001',
  protocol: 'http'
}
Image uploaded to IPFS. IPFS hash: QmRXxBUN7rpGKRrE8sVxA5vzUd9JQTi4kDu2Nc4WctqaHX

使用这个hash值在浏览器上可以正常的获取图片进行展示

url为:http://localhost:8080/ipfs/{hash值}
如:http://localhost:8080/ipfs/QmRXxBUN7rpGKRrE8sVxA5vzUd9JQTi4kDu2Nc4WctqaHX

其他cors需要注意

如果在其他域名下使用js访问本地ipfs节点出现浏览器跨域的问题,如下:

Access to fetch at 'http://localhost:5001/api/v0/add?stream-channels=true' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

则需要修改本地ipfs节点配置,使其支持跨域访问,修改方式如下:

# 进入 ipfs docker容器
~ % docker exec -it 24b518cb8ad9 /bin/sh

# 执行命令修改ipfs配置
/ \# ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["*"]'

# 重启ipfs-host容器
~ % docker restart 24b518cb8ad9

随后即可正常进行请求

参考文档:

  • https://blog.youkuaiyun.com/kk3909/article/details/104814337
Docker搭建IPFS IPFS(InterPlanetary File System)是一个分布式的、点对点的文件系统,旨在构建更开放、自由、高效的互联网。IPFS通过基于内容的寻址替代传统的基于位置的寻址(如HTTP),允许根据文件内容而不是文件位置进行访问。IPFS的Docker镜像允许用户在Docker容器中快速部署和运行IPFS节点。 阅读详情

相关推荐

使用 Docker 安装 IPFS 星际文件系统

Docker 中安装 IPFS 星际文件系统

lisuke 1539

Node.js使用IPFS实现文件上传和下载

文章目录前言一、项目准备二、项目实现1.安装IPFS所需依赖2.封装ipfs接口3.开启ipfs4.使用node调用ipfs 前言 提示:本文使用Node.js结合IPFS实现文件的上传和下载,IPFS可以简单的理解为一个分布式存储系统,在这上面上传或下载文件的速度十分快,亲测下载速度达35M/s,可以说是非常快的了。如果对IPFS的安装不熟悉的可以去看我的另一篇文章《IPFS的安装》。 一、项目准备 首先安装好Node.js和IPFS,安装Node.js可以参考另一篇文章Node.js的安装与使用。安装

xiaoning9299的博客 1万+

docker部署IPFS私有链

注:此版本仅适用于ipfs/go-ipfs:v0.4.18 版本 一、安装IPFS 1.1 下载IPFS镜像 [root@localhost mnt]# docker pull ipfs/go-ipfs:v0.4.18 Using default tag: latest latest: Pulling from ipfs/go-ipfs:v0.4.18 0de338cf4258: Pull complete 11c62d923848: Pull complete 365846b6db74: Pull

J_Lee 1946

基于docker compose配置ipfs私有化网络

ipfs私有化部署要点总结及相关配置文件,根据文章中的配置文件可一键搭建自己的ipfs私有化网络。

walkskyer的博客 1615

ipfs-uploader:从(Infura)IPFS上传并查看图像

IPFS图像上传器 将您的图像上传到行星际文件系统(IPFS)并查看它们。 演示版

ipfs:IPFS Node JS示例

ipfs 脚步: 开始 使用命令在终端中启动应用 npm开始 检出到localhost:3000 上载 在主页上,上传文件并为其命名。 单击上载,URL将被打印在终端中。 看法 查看上ipfs上的任何文件 示例

python ai去中心化知识图谱系统的设计与实现

去中心化知识图谱系统结合了分布式技术与人工智能,旨在实现数据的自主管理、隐私保护和高效查询。Python因其丰富的AI库和分布式框架支持,成为实现此类系统的理想语言。

qq840612233的博客 568

ipfs-node-example:如何开始使用IPFS和Node

如何开始使用IPFS和节点

零知识加密与量子安全:自建隐私优先网盘 Internxt 部署指南

数据加密是保障云存储安全的核心技术,其原理在于通过算法将明文信息转换为不可读的密文,确保即使数据在传输或存储过程中被截获,也无法被未授权方解读。零知识加密作为其中的高级范式,允许服务提供商验证用户或处理数据,而无需知晓数据内容本身,这极大地提升了隐私保护的层级,其技术价值在于从根源上消除了服务端数据泄露的风险。结合旨在抵御未来量子计算攻击的后量子密码学,这类技术为个人敏感数据、企业商业机密等对隐私要求极高的应用场景提供了面向未来的解决方案。本文以开源项目 Internxt 为例,解析其如何整合零知识加密与量

447

IPFS 笔记 – 使用 Docker 搭建 IPFS 私链

文章目录准备环境swarm.key挂载目录拉取镜像启动容器创建节点查看节点 准备 环境 安装好 go 环境 安装好 docker swarm.key swarm.key 用来做私链认证的密钥,最终要放在 /ipfs/data 目录下 go get github.com/Kubuxu/go-ipfs-swarm-key-gen cd $GOPATH go build ./ipfs-swarm-key-gen > swarm.key 查下生成的 swarm.key 内容: /key/swarm/psk/1.0.0/ /base16/ 5c99c0c67fe9d45d5b612afcb1f325d2

perftest实战:从零到一,精准评估RDMA网络性能

想象一下,两台服务器传输数据就像在同一个主板上交换内存,这种零拷贝、低延迟的特性,正是高性能计算、分布式存储等场景梦寐以求的。对于云环境用户,主流云厂商现在都提供RDMA实例(比如AWS的EFA、阿里云的eRDMA)。但要注意,不同机型支持的RDMA协议版本可能不同,这会直接影响测试结果的上限值。记得记录每次测试的BW average值,绘制成曲线图后,你可能会发现类似"阶梯状"的性能变化,这通常与网卡的DMA引擎设计有关。在云环境中,由于虚拟化层的影响,延迟会比裸金属高20-30%。

weixin_28700411的博客 213

OpenClaw v2026.5.2 架构升级:WASI沙箱+插件热加载实现秒级启动与高稳定性

WASI(WebAssembly System Interface)是一种轻量、安全、跨平台的系统接口标准,正成为现代CLI工具与边缘AI网关构建可隔离、可扩展架构的核心底座;其内存沙箱、ABI标准化和启动加速特性,显著提升模块化系统的稳定性与响应速度。本文围绕WASI插件机制、冷启动优化、配置漂移防御等工程实践,解析如何通过依赖解耦、按需加载与渐进式就绪设计,解决Windows平台常见启动失败、插件冲突、Defender扫描阻塞等典型问题,适用于需要长期稳定运行的自动化Agent、NAS部署及多模态服务场

weixin_30266885的博客 440

实战:如何通过修改VTS和HTS调整GC4653 sensor帧率(附完整计算步骤)

本文以GC4653图像传感器为例,详细解析了通过修改VTS和HTS寄存器来精确调整输出帧率的完整流程。文章深入剖析了帧率计算公式FPS = PCLK / (VTS × HTS)的核心原理,并提供了从获取寄存器参数、计算目标VTS值到系统验证的实战步骤,帮助工程师掌握独立优化Sensor性能、提升低照度画质的关键技能。

gin88的博客 338

Hyperledger Fabric的容灾备份及恢复方法简介

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34367845的博客 186

SAP中MRP运行计划行超限问题的分析与解决

SAP中基于生产性物料的采购特点,通常会采用采购计划协议的方式进行采购。其具体的采购计划通常来自于成品计划独立需求,然后通过物料清单,经由MRP跑出。 在采购计划协议中的计划行中,存在一个计划行号,随着MRP在不断跑出新的计划行,该行号资源会消耗完。当计划行号消耗完后,MRP不会再跑出新的计划行。且在MD04或MD02中看不到类似提示信息。此时可以通过MD05来查看是否出现类似下图的提示信息。 ...

专注SAP应用技术文章写作,致力于拉近用户与系统间的距离; 3845

Zabbix-01简单导入MIB文件并测试

这里写自定义目录标题安装 MIB文件启用MIB文件测试MIB文件 MIB文件 MIB代表管理信息库。 MIB文件允许您使用OID(对象标识符)的文本表示。 ##例如: ifHCOutOctets 是OID【1.3.6.1.2.1.31.1.1.1.10】的文本表示 安装 MIB文件 在基于Debian的系统上: # apt install snmp-mibs-downloader # download-mibs 在基于RedHat的系统上: # yum install net-snmp-libs 启用M

lokibaba的博客 9179

17coding:面向工程师的技术内容工程化系统

技术博客本质是知识资产的结构化表达,其核心挑战在于内容可信度、版本一致性与跨平台复用性。传统静态站点生成器将内容与渲染强耦合,导致代码过期、图表难维护、发布流程重。17coding提出正交三层架构——内容层(结构化Markdown元数据)、能力层(CLI驱动的代码/图表/截图自动化工具)、渲染层(28KB Web Components运行时),实现‘文档即代码’的工程实践。它通过Git Commit绑定代码块、PlantUML双向编辑图表、17c://协议构建跨文档知识图谱,显著提升技术内容的可验证性、可追

diaojin6880的博客 429

(MIUI)小米手机录音文件深度寻踪:从系统缓存到数据目录的实战解析

本文深入解析了MIUI系统中录音文件丢失的常见原因及解决方案,包括系统升级兼容性问题、应用缓存机制异常和存储权限变动。通过实战操作指南,详细介绍了如何从系统目录、数据库层面恢复录音文件,并提供了预防措施和自动化备份方案,帮助小米手机用户有效找回重要录音数据。

weixin_42699679的博客 518

HOM3:构建主权本地优先的跨设备计算环境

在云计算和容器化技术普及的今天,数据主权和隐私保护成为开发者日益关注的焦点。容器技术(如Docker)通过标准化交付和环境隔离解决了应用部署的一致性问题,但其对中心化仓库的依赖和黑盒特性,与用户对环境的完全控制权诉求存在矛盾。本地优先架构和点对点同步技术为此提供了新的思路,它强调数据默认存储在本地设备,通过加密的P2P协议在设备间同步,无需经过第三方服务器,从而在保障数据隐私和安全的同时,实现了跨设备的无缝体验。这种架构特别适合需要离线工作、对数据控制有严格要求,或希望整合从桌面到手持设备工作流的开发者和技

weixin_34075268的博客 355

国产数据库PolarDB-X实战:5分钟快速搭建本地开发环境(附Docker一键部署脚本)

本文提供了一份详尽的国产分布式数据库PolarDB-X本地开发环境搭建指南。通过Docker Compose一键部署脚本,开发者可在5分钟内快速启动一个功能完整的PolarDB-X实例,涵盖环境准备、脚本解析、连接验证及日常维护,极大简化了国产数据库的入门和体验流程。

weixin_29246195的博客 358

**YOLOv11性能突破:基于YOLOv10-PSA注意力机制的目标检测革命性升级**

购买即可解锁300+YOLO优化文章,并且还有海量深度学习复现项目,价格仅需两杯奶茶的钱,别人有的本专栏也有!

m0_71589036的博客 196

IPFS Docker 部署

dockerrun-d--nameipfs_host-v /root/ipfs/export:/export-v/root/ipfs/data:/data/ipfs-p4001:4001-p 8080:8080-p 5001:5001ipfs/go-ipfs:latest dockerrun-d--nameipfs1-v/data/docker/i...

新手刚入门 1538

基于STM32、HAL库的TLV320AIC3204IRHBR音频接口芯片驱动程序设计

* 开启所有数字部分 */#define TLV320AIC3204_REG_LEFT_HEADPHONE_OUT_VOLUME 0x0C /* 左声道耳机输出音量 */#define TLV320AIC3204_REG_DIGITAL_AUDIO_PATH_CONTROL 0x05 /* 数字音频路径控制 */#define TLV320AIC3204_REG_ANALOG_HP_FILTER_CONTROL 0x34 /* 模拟耳机滤波器控制 *//* 最大音量 */

corlin6688的博客 521

IPFS系列 - 体验 IPFS Cluster Docker

现在,您应该正在运行一个三节点IPFS群集!ipfs-cluster-ctl 是IPFS群集守护程序的命令行客户端,我们将使用它来检查群集,添加和固定内容。等到所有容器都在运行。您可能会看到一些错误,因为在IPF准备就绪之前,群集对等点启动太快,但是它。下载适用于您平台的最新版本并将其解压缩到您选择的文件夹中。并将其放置在相同的目录中ipfs-cluster-ctl。安装Docker和Docker Compose。

搬砖魁首的博客 1119

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

IPFS docker搭建私有网络

1. 启动ipfs_host容器 1. 创建ipfs目录,并进入该目录 2. 执行命令: docker run -d --name ipfs_host -v $PWD/ipfs_staging:/export -v $PWD/ipfs_data:/data/ipfs -p 4001:4001 -p 8080:8080 -p 5001:5001 ipfs/go-ipfs:latest 2. 生成swarm.key 2.1. 下载生成swarm.key源码: 链接 提取密码: be7j 2.2.

yfanjy的博客 2012

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

上一篇: react项目 Can‘t resolve ‘stream‘ in ‘.../node_modules/cipher-base‘ 问题解决
下一篇: mac 安装pkg-config
不与天斗8866
博客等级 码龄18年 651粉丝 196原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值