java-ipfs-api.jar的食用方法

2023-11-20

引入java-ipfs-api.jar

从仓库引入

在pom.xml中添加仓库

	<repositories>
		<!-- 阿里云镜像,不需要的可以忽略 -->
        <repository>
            <id>public</id>
            <name>aliyun nexus</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
        </repository>
        <!-- jitpack.io仓库 -->
        <repository>
            <id>jitpack.io</id>
            <url>https://jitpack.io</url>
        </repository>
    </repositories>
		<dependency>
            <groupId>com.github.ipfs</groupId>
            <artifactId>java-ipfs-api</artifactId>
            <version>v1.2.2</version>
        </dependency>

源码打包(推荐)

git clone https://github.com/ipfs/java-ipfs-api.git
mvn clean install -Dmaven.test.skip=true

启动IPFS

还没写,后补

食用方法(v1.2.2)

IPFSUtil.java

import io.ipfs.api.IPFS;
import io.ipfs.api.MerkleNode;
import io.ipfs.api.NamedStreamable;
import io.ipfs.multihash.Multihash;

import java.io.File;
import java.io.IOException;

public class IPFSUtil {
   private static IPFS ipfs = new IPFS("/ip4/127.0.0.1/tcp/5001");

   public static String add() throws IOException {
       NamedStreamable.FileWrapper file = new NamedStreamable.FileWrapper(new File("C:\\Users\\Administrator\\Desktop", "test.png"));
       MerkleNode addResult = ipfs.add(file).get(0);
       return addResult.hash.toString();
   }

   public static String cat(String hash) throws IOException {
        byte[] data = ipfs.cat(Multihash.fromBase58(hash));
        return new String(data);
   }
}

IPFSUtilTest.java

import org.junit.Test;
import java.io.IOException;

public class IPFSUtilTest {

    @Test
    public void testAdd() {
        try {
            String hash = IPFSUtil.add();
            System.out.println(hash);
            // QmfGp2pRCs3VidFKEVh6NFdrJ3usfrRDr2KXW9k4t3EfUK
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

    @Test
    public void testCat() {
        try {
            String data = IPFSUtil.cat("QmfGp2pRCs3VidFKEVh6NFdrJ3usfrRDr2KXW9k4t3EfUK");
            System.out.println(data);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

只写了两个简单的测试,其他api后补。add的对象是一个图片,所以cat没什么卵用,上效果图

效果图

ipfs hash为https://ipfs.io/ipfs/QmfGp2pRCs3VidFKEVh6NFdrJ3usfrRDr2KXW9k4t3EfUK

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java-ipfs-api.jar的食用方法 的相关文章

  • Ubuntu下源码安装IPFS环境

    一 安装配置Go环境 IPFS是基于GO语言的项目 xff0c 环境要求go version 1 12 43 安装过程及环境变量配置参考 xff1a https blog csdn net weixin 42310458 article d
  • 区块链DAPP开发 智能合约开发工具IDE有哪些

    Remix http remix ethereum org ChainIDE https chainide cn zh CN ChainIDE提供云端编译功能 xff0c 无需繁琐的安装设置 xff0c 加速开发迭代速度 ChainIDE提
  • 以太坊智能合约编程入门(一)

    原文地址 https medium com ConsenSys a 101 noob intro to programming smart contracts on ethereum 695d15c1dab4 1 ABBewYWJfdIFh
  • 三十六计之败战计

    败战计故名思意 是在败势中使用的计谋 共六计 美人计 空城计 反奸计 苦肉计 连环计和走为上 第三十一计 美人计 兵强者 攻其将 兵智者 伐其情 将弱 兵颓 其势自萎 利用御寇 顺相保也 兵强者 攻其将 兵智者 伐其情 句意 对兵力强大的敌
  • Eclipse 历史版本

    url http archive eclipse org eclipse downloads index php url
  • DAPP开发初探

    前言 最近DAPP的开发貌似很火 学习了区块链的一些知识之后 相信有很多人和我一样 也想了解开发一个DAPP是一个怎样的流程 下面将通过一个简单的栗子来初识一下DAPP的开发流程 届时 我们也将开发出第一个DAPP应用 永存的留言 在线体验
  • IPFS环境搭建和用ipfs-api访问ipfs网络

    ipfs是去中心化星际文件系统 本文介绍节点软件ipfs环境搭建和使用方法 学习ipfs api在nodejs代码中访问ipfs网络 一 ipfs节点安装与使用 1 1下载节点软件 到官网下载windows版的ipfs节点软件 32位 64
  • 三十六计之混战计

    三十六计的第四篇 共六计 釜底抽薪 混水摸鱼 金蝉脱壳 关门捉贼 远交近攻和假途伐虢 此篇计谋适合于敌友不分 军阀混战时使用 第十九计 釜底抽薪 不敌其力 而消其势 兑下乾上之象 不敌其力 敌 动词 攻打 力 最坚强的部位 而消其势 势 气
  • 以太坊学习笔记(三)——搭建以太坊私链

    以太坊私链的搭建可以直接通过下载程序进行安装 也可以通过编译源码安装 本文介绍通过编译源码进行安装 编译源码 1 准备环境 我们下载的是go语言的源码 首先需要正确的安装go语言环境 如何正确安装go语言环境 大家可以去网上找教程 2 下载
  • azkaban上传zip报错:Error Chunking during uploading files to db

    上传时页面报 Instalation Failed Error Chunking during uploading files to db 查看web server日志 2021 11 26 11 20 38 253 0800 INFO P
  • IPFS: NAT traversal(NAT穿越)

    IPFS是一个p2p网络 那么一定绕不开的一个问题就是NAT穿越 之前的文章里面也提到过IPFS网络连通性使用的ICE NAT穿越框架 本文简单介绍一下什么是NAT 为什么有NAT技术 NAT主要用来缓解全球的IPv4地址不够用的情况 IP
  • WindowBuilder for Eclipse 3.7

    http download eclipse org windowbuilder WB integration 3 7 MyEclipse10 7 1和MyEclipse10 7的下载地址 http downloads myeclipseid
  • 星际文件存储IPFS是如何颠覆云存储的?

    一句话概括 IPFS The InterPlanetary File System 星际文件存储系统是一种点到点的分布式文件系统 它连接的计算设备都拥有相同的文件管理模式 从某种意义上来说这个概念跟Web的最初理念很类似 但是实际上IPFS
  • 【学习笔记】POST和GET的区别

    吃水不忘挖井人系列之 https mp weixin qq com s N2GStE2ksWUO yzIETTcQQ 在开撸之前吗 让我们先看一下标准答案长什么样子 w3school GET 对比 POST 标准答案很美好 但是在面试的时候
  • 依据ASCII排序:有关map.entrySet()的一些心得

    List
  • 【MIUI9】小米平板1MIPAD1欧版ROM历史ROM下载地址-另附挥泪典藏版V9系统

    费劲整理来的 上边是 小米平板1 MIPAD1的 ROM 下边是MI3W小米3联通版的ROM 欧版xiaomi eu系统的好处就是省电 miui MIPAD V9 2 4 0 KXFCNEK 97354839c6 4 4 zip 这个是小米
  • lua c++中的一种回调解决方法

    见很多人发问cocos2dx 3 版本 lua 函数回调问题 我在项目中是这样解决的 因为我是使用了cocos 带有的 lua 绑定脚本 python写的 cocos2d x tools tolua genbindings py 在生成绑定
  • iframe height 100% 问题

    iframe height 100 问题 最近 利用 MapGuide 技术开发一个 WebGIS 的应用程序 其中用到了 标签 可是当我调试运行的时候 其 width 100 生效了 但 height 100 就无效 无论用 JavaSc
  • Java生成纳秒时间戳

    记一次生成高精度时间戳 类似与 net的时间戳 码着备忘 long timestamp System currentTimeMillis 1000000L System nanoTime 1000000L System currentTim
  • java-ipfs-api.jar的食用方法

    引入java ipfs api jar 从仓库引入 在pom xml中添加仓库

随机推荐

  • router-link 和 router-view 的 关系

  • vue整合ueditor

    一 前端代码 Ueditor官网地址为 http ueditor baidu com website download html ueditor 下载好之后 将Jsp版本解压 解压后文件夹改名为ueditor 将文件夹中的jsp目录删掉 之
  • Elasticsearch7 清空指定Index 相关数据

    注意 Elasticsearch7 起 Index索引已经不支持创建指定Type 类型 默认取值为 doc Elasticsearch7 清空指定Index 语法 POST 请求 http es 服务器地址 索引名称 delete by q
  • go 进阶 gin实战相关: 五. gin_scaffold 企业脚手架

    目录 一 gin scaffold 企业级脚手架 二 gin scaffold 脚手架安装及使用演示 文件分层解释 开始使用 1 配置开启go mod 功能 2 下载 安装 gin scaffold 3 整合 golang common 4
  • 原生js php ajax,原生Ajax怎么写

    写原生Ajax的方法 首先创建XMLHttpRequest对象 然后编写回调函数onreadystatechange 接着配置请求信息 最后发送请求即可 Ajax Asynchronous JavaScript and XML的缩写 是一种
  • C#使用NuGet包播放视频之二————读取RTSP流

    RTSP流的读取 上篇文章做到读取本地摄像头 基本事都做完了 这篇文章将RTSP流加进去 双击窗体中ToolStrip的RTSP 为之添加事件 事件中编写代码如下
  • Yii2框架(一)安装及目录结构

    如题 对 你要相信自己的眼睛 你没看错确实是Yii2框架 现在都2020年了 刚刚开始折腾Yii2框架难免有些过时 但是没办法 公司目前的项目是基于Yii2开发的 嘿 你说怎么这么巧 我还没用过Yii2框架 没办法 看手册呗 这玩意 万变不
  • Vue2运行报错SyntaxError: Cannot use import statement outside a module

    问题描述 像配置vue3那样配置vue config js的路径代理 代替src后 报错 语法错误 不能在模块外部使用导入语句 原因 模块语法一个是CommonJS module 一个是 ES6 module vue config js里的
  • Google Voice账号的具体保号教程

    Google Voice 官方号码回收规则 https www google com intl zh CN googlevoice program policies html 在9个月内你的Google Voice没拔打电话或接收短信 你的
  • Hbase使用shell命令报错大集锦:

    一 Hbase使用shell命令出现报错 PleaseHoldException Master is initializing 解决办法 0 保证hbase运行着的 1 删除HDFS里hbase文件夹 hdfs dfs rm r hbase
  • 蓝牙BLE连接设备报错onClientConnectionState() - status=133解决方法

    S905平台 Android 5 1 1 WIFI 蓝牙芯片AP6255 客户某蓝牙设备使用他们专用的APK连接不上 查logcat信息如下 D BluetoothAdapter 5097 stopLeScan D BluetoothAda
  • Arduino智能小车随笔(一)

    Arduino智能小车随笔 一 看到小孩的各种STEM课程很火 收费又老贵 就想着不如自己和小孩一起学着做个arduino智能小车 即能让女儿学点编程 又能省了智商税 一举两得 然而到了后面女儿基本上只帮我接线 arduBlock实在无法支
  • ZooKeeper踩坑

    一 下载安装包时要下载文件名中带有bin的安装包 否则会报错 找不到或无法加载主类 org apache zookeeper server quorum QuorumPeerMain Error contacting service 这是由
  • Alluxio集群环境搭建,救救孩子!

    写在前面 最近的一段时间内我会做HDFS Alluxio HBase相关的开发工作 我会继续学习并分享不限于这些组件的知识 正常来说 搭建个集群环境根本不需要专门写个文章 但是这次我必须写 顺带必须小吐槽一下 Alluxio官方文档搭建集群
  • python程序填空题 快乐的数字_Python习题之快乐的数字

    快乐的数字 描述 编写一个算法来确定一个数字是否 快乐 快乐的数字按照如下方式确定 从一个正整数开始 用其每位数的平方之和取代该数 并重复这个过程 直到最后数字要么收敛等于1且一直等于1 要么将无休止地循环下去且最终不会收敛等于1 能够最终
  • Spring Boot整合ElasticSearch

    一 ES客户端 ES提供多种不同的客户端 1 TransportClient ES提供的传统客户端 官方计划8 0版本删除此客户端 2 RestClient RestClient是官方推荐使用的 它包括两种 REST Low Level C
  • vs+qt新建ui项目

    新建项目入门参考教程 新建项目入门参考教程 手动调整UI及程序编写 手动调整UI及程序编写 Qss基础 Qt part 6 QSS Qt样式表 界面美化1 Qt part 7 QSS参考样式表 界面美化2 Qt part 8 QSS 按键菜
  • ArcGIS中KML/KMZ转为.shp文件

    kml kmz到 gt layer到 gt shp 1 打开ArcMap gt ArcToolbox 2 在ArcToolbox中选择 转换工具 gt 由KML转出 gt KML转图层 3 在 KML转图层 的弹出框中 选择并导入KML文件
  • numpy基本矩阵操作

    矩阵乘法 numpy当中常用的矩阵乘法有两种 numpy dot和numpy matmul 当对象是2D矩阵的时候 这两个函数都是进行最正常的矩阵乘法 import numpy as np a np array 1 2 3 4 b np a
  • java-ipfs-api.jar的食用方法

    引入java ipfs api jar 从仓库引入 在pom xml中添加仓库