java调用IPFS去中心化体系
Maven pom.xml引入
1 2 3 4 5 6 7 8 9 10 11 12 13 | <repositories> <repository> <id>jitpack.io</id> <url>https: //jitpack.io</url> </repository> </repositories> <dependencies> <dependency> <groupId>com.github.ipfs</groupId> <artifactId>java-ipfs-api</artifactId> <version>$LATEST_VERSION</version> </dependency> </dependencies> |
创建节点
IPFS ipfs = new IPFS(new MultiAddress("/ip4/127.0.0.1/tcp/8888"));
初始化IPFS 加载
ipfs.refs.local();
要添加文件使用
NamedStreamable.FileWrapper file = new NamedStreamable.FileWrapper(new File("D:/longpizi.png"));
添加文件到IPFS返回HASH值
Multihash addResult = ipfs.add(file).hash;
输出HASH值
System.out.println(addResult);
查询IPFS里面的文件(通过HASH值查询)
Multihash filePointer =Multihash.fromBase58("HASH值");
byte[] data = ipfs.cat(filePointer);通过HASH值查询文件转为byte[]
通过文件流输出
InputStream inputStream=new ByteArrayInputStream(data);
OutputStream os = response.getOutputStream();
byte[] buffer = new byte[400];
int length = 0;
while ((length = inputStream.read(buffer)) > 0) {
os.write(buffer, 0, length);
}
os.flush();
os.close();
完成的java调用IPFS
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统