返回介绍

31.4. java-ipfs-api

发布于 2023-06-19 14:14:32 字数 3561 浏览 0 评论 0 收藏 0

31.4. java-ipfs-api

31.4.1. Maven 配置

		
  <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>v1.2.1</version>
		</dependency>
		<dependency>
			<groupId>com.github.multiformats</groupId>
			<artifactId>java-multibase</artifactId>
			<version>v1.0.1</version>
		</dependency>
		<dependency>
			<groupId>com.github.multiformats</groupId>
			<artifactId>java-multiaddr</artifactId>
			<version>v1.3.1</version>
		</dependency>
		<dependency>
			<groupId>com.github.multiformats</groupId>
			<artifactId>java-multihash</artifactId>
			<version>v1.2.1</version>
		</dependency>
		<dependency>
			<groupId>com.github.ipld</groupId>
			<artifactId>java-cid</artifactId>
			<version>v1.1.1</version>
		</dependency>
	</dependencies>		
		
		

31.4.2. 查看版本号

		
package cn.netkiller.ipfs;

import io.ipfs.api.IPFS;

public class Demo {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		try {
			IPFS ipfs = new IPFS("/ip4/127.0.0.1/tcp/5001");
			System.out.println(ipfs.version());
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}
		
		

运行后显示 ipfs 版本号表示链接成功

31.4.3. 添加文件到 IPFS

首先创建一个测试文件

		
neo@MacBook-Pro ~ % echo "Helloworld" >  /tmp/hello.txt
neo@MacBook-Pro ~ % cat /tmp/hello.txt                 
Helloworld
		
		

添加本地文件到IPFS

		
	NamedStreamable.FileWrapper file = new NamedStreamable.FileWrapper(new File("/tmp/hello.txt"));
	System.out.println(ipfs.add(file).get(0).toJSON());
		
		

输出结果

		
{Hash=QmS8R3nSbDHjQ7WRTjtX1pkiQ6BUpti9qTjweZkBgGPKiN, Links=[], Name=hello.txt, Size=19}
		
		

输出字符串 toJSONString()

		
		NamedStreamable.FileWrapper file = new NamedStreamable.FileWrapper(new File("/tmp/hello.txt"));		
		MerkleNode addResult = ipfs.add(file).get(0);
		System.out.println(addResult.toJSONString());		
		
		
		
{"Hash":"QmS8R3nSbDHjQ7WRTjtX1pkiQ6BUpti9qTjweZkBgGPKiN","Links":[],"Name":"hello.txt","Size":"19"}		
		
		
[提示]提示

注意:文件名不会影响 Hash 值得变化

31.4.4. 添加文本到 IPFS

		
	public Object put() throws IOException {
		NamedStreamable.ByteArrayWrapper text = new NamedStreamable.ByteArrayWrapper("url.txt", "http://www.netkiller.cn".getBytes());
		MerkleNode addResult = ipfs.add(text).get(0);
		return addResult.toJSON();
	}		
		
		

返回结果

		
{Hash=QmY1ZUDzCH7J2QcVPLWT6FKwhaVvnkFRY89GMvbD27Eyde, Links=[], Name=url.txt, Size=31}
		
		
[提示]提示

注意:文件名不会影响 Hash 值得变化

31.4.5. 

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文