如何在IPFS里面上传一张图片

之前有好几人问过小编,想在IPFS里面上传一张图片。如何做?
今天小编就讲一下如何在IPFS里面上传、下载文件?
1 下载IPFS软件
下载地址:https://dist.ipfs.io/#go-ipfs
打开这个地址后网页会根据你的当前操作系统自动为你选择可供下载的版本,这个页面上有很多ipfs相关的软件下载,看清楚下载 go-ipfs, 这是IPFS的go语言版本实现,IPFS目前还有 js版本和 python版本(开发已停滞,团队忙不过来了)
2 安装
windows:自己选择一个文件,把软件解压缩进去,然后打开命令行,定位到刚才的文件夹下
执行:
>ipfs help
USAGE:
ipfs - Global p2p merkle-dag filesystem.
...
得到上面的信息,恭喜你ipfs安装成功了
Mac 和 Linux:执行 tar xvfz go-ipfs.tar.gz解压缩刚才下载的文件,然后在解压缩的文件夹下执行: ./go-ipfs/install.sh,完成后软件就安装好了,然后:
> ipfs help
USAGE:
ipfs - Global p2p merkle-dag filesystem.
...
得到上面的信息,恭喜你ipfs安装成功了
3 配置ipfs
在命令行里面执行:
ipfs init

上面是在小编的电脑上的输出结果,表明ipfs的初始化配置完成,ipfs生成了一个节点id:QmceWUYdX5xjE5zVA3bW1rt4Kq326bm83hRxAkPRe3QWR8,每个人的电脑执行结果会不一样,这串字符串就代表了你运行的ipfs节点。
查看安装情况,然后执行:
ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme
将会看到如下的画面:

如果想要详细了解ipfs的命令,可以执行下面命令查看
ipfs cat /ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/quick-start
或者 访问这个页面: https://ipfs.io/docs/commands/
4 节点上线
执行命令:
ipfs daemon
得到如下输出:

恭喜你,你的IPFS节点已经上线,查看你的节点都与那些节点建立了链接
打开一个新的命令行窗口,执行命令:
ipfs swarm peers
可以看到类似下面的输出,恭喜你,你可以看到截止到目前你的节点连接到到其他ipfs节点。

5 上传和下载
注意:切不可上传隐私文件,你不想你的xx照终生伴随这个IFPS网络吧?小编正在酝酿写一篇关于IFPS下的个人隐私保护的文章
IPFS core软件提供了两种方式:命令行的方式和web方式
命令行:下载
执行
ipfs cat /ipfs/your_hash > init.jpg
ipfs cat /ipfs/your_hash
例如:
ipfs cat /ipfs/QmdDTor6dWzknFJPJuhJgrUYqd56WkFXYAxyxpEY7kUrEb > init.jpg
这个hash值是小编12.8号在文章 《什么是IPFS?(三)》
里面上传的那张图片,有兴趣的可以下载来看看。

命令行:上传
执行:
ipfs add init.jpg
tt-3:go-ipfs tt$ ipfs add init.jpg
added QmdDTor6dWzknFJPJuhJgrUYqd56WkFXYAxyxpEY7kUrEb init.jpg
这样就上传到IPFS网络一个文件了,ipfs add 会返回一个哈希值,这个哈希值就是文件在IPFS网络的地址
web方式:
打开浏览器,在浏览器里面输入 http://localhost:5001/webui , 就可以链接到你的节点,界面如下:
这是小编运行的节点的基本信息:

从下图可以看到小编的机子已经连接了世界上385个节点了。从左边的地球上看,中国运行的节点并不多,大部分节点运行在欧洲和美国

然后点击界面的左边 Files菜单,在右边里面可以看到 Select files,这就是web界面提供的上传文件功能,只需要选中文件,点击上传就好了,

添加完成后会在下面ALL LOCAL FILES里面多出来一个哈希值,那就是你刚上传的文件,如果没看到,刷新一下网页就可以了,这个时候不要立即关掉你的节点,给点时间让其它节点缓存你的文件。缓存一旦完成,此文件将伴随着IPFS网络永久存在。
这个时候你可以在浏览器里面输入:https://ipfs.io/ipfs/你的哈希值 就可以看到你的文件了,
比如:
https://ipfs.io/ipfs/QmTYrYEaebR7oxLxkkqGbs8Bmh5xqYBHKew8jN4XQgiiKS
这个小编刚才上传的文件
现在你应该已经学会了运行IPFS节点,并且学会了基本的文件上传和下载
如果你不想折腾,又想往IPFS上传一张纪念意义的文件(比如给女友的祝福),可以后台给小编留言,小编很乐意帮忙搞定:切记,IPFS网络的文件是永久存在的
作者飞向未来,致力于IPFS/Filecoin在中国的技术推广,他的微信公众号和社群,目前是中国最活跃最顶级的IPFS社群。作者飞向未来是圆方圆区块链的特邀嘉宾,所有转载都已经得到飞向未来本人授权。
更多飞向未来导师的公众号,可以在IPFS指南公众号中找到。
圆方圆链圈

如何在IPFS里面上传一张图片的更多相关文章
- iOS -- 上传多张图片 后台(PHP)代码和上传一张的一样
// 上传多张图片 - (void)send { // 设置初始记录量为0 self.count = 0; self.upcount = 0; // 设置初始值为NO self.isUploadPic ...
- php用jquery-ajax上传多张图片限制图片大小
php用jquery-ajax上传多张图片限制图片大小 /** * 上传图片,默认大小限制为3M * @param String $fileInputName * @param number $siz ...
- 微信JSSDK上传多张图片
之前是使用for循环实现的,但是安卓手机没有问题,苹果手机只能上传最后一张图片. 好在有高手在前面趟路,实用的循环调用.苹果是没有,安卓不清楚.以下内容转自:http://leo108.com/pid ...
- 整理几个js上传多张图片的效果
一.普通的上传图片,张数不限制 <!DOCTYPE HTML> <html> <head> <meta charset="UTF-8"&g ...
- Ajax+PHP实现异步上传多张图片
Ajax+PHP实现异步上传多张图片 HTML代码 <!-- date: 2018-04-27 13:46:55 author: 王召波 descride: 多张图片上传 --> < ...
- 1) 上传多张图片时 ,对 $_FILES 的处理. upload ; 2)fileinput 上传多张图片. 3) 修改,删除的时候删除原来的资源,图片 update, delete , 删除 4)生成器中两个字段上传图片的时候,要修改生成器生成的代码
1上传多张图片, 要对 $_FILES进行 重新处理. //添加 public function addCourseAlbumAction() { $CourseAlbumModel = new Co ...
- Okhttp3上传多张图片同时传递参数
之前上传图片都是直接将图片转化为io流传给服务器,没有用框架传图片. 最近做项目,打算换个方法上传图片. Android发展到现在,Okhttp显得越来越重要,所以,这次我选择用Okhttp上传图片. ...
- POST请求上传多张图片并携带参数
POST请求上传多张图片并携带参数 在iOS中,用POST请求携带参数上传图片是非常恶心的事情,HTTPBody部分完全需要我们自己来配置,这个HTTPBody分为3个部分,头部分可以携带参数,中间部 ...
- thinkphp3.2+cropper上传多张图片剪切图片
实现效果截图 点加号可以继续上传第二张图片 代码部<--引入cropper相关文件--> <link rel="stylesheet" href="/h ...
随机推荐
- nyoj281 整数中的1(二) 数位DP
和整数中的1一毛一样.就是输入时改了一下罢了. AC代码: #include<cstdio> const int maxn = 35; int w[maxn], h[maxn]; void ...
- 出行服务类API调用的代码示例合集:长途汽车查询、车型大全、火车票查询等
以下示例代码适用于 www.apishop.net 网站下的API,使用本文提及的接口调用代码示例前,您需要先申请相应的API服务. 长途汽车查询:全国主要城市的长途汽车时刻查询,汽车站查询 车型大全 ...
- openstack-ocata-环境准备1
Openstack环境准备1. 最少两台机器2. Controller:1核cpu 4G内存 5G硬盘3. Computer:1核cpu 2G内存 10G硬盘4. 至少两个网卡,本次采用四个网卡(1网 ...
- linux dns搭建
DNS:域名解析(Domain Nmae System)正向解析:根据主机名称(域名)查找其对应的ip地址,这是最基本,最常用的功能反向解析:根据ip地址查找其对应的主机名称(域名),反垃圾邮件/安全 ...
- CBitmap的使用
MFC提供了位图处理的基础类CBitmap,可以完成位图(bmp图像)的创建.图像数据的获取等功能.虽然功能比较少,但是在对位图进行一些简单的处理时,CBitmap类还是可以胜任的.很多人可能会采用一 ...
- weblogic部署web项目出现错误
1.错误描述 <2015-3-15 下午02时13分01秒 CST> <Info> <Security> <BEA-090905> <Disabl ...
- windows驱动之WDF---CharSample
驱动程序部分: NTSTATUS DriverEntry( IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath ) /*++ ...
- pat1111-1120
1111 比较麻烦的最短路 #include<cmath> #include<map> #include<iostream> #include<cstring ...
- iOS - GATT Profile 简介
1.引言 现在低功耗蓝牙(BLE)连接都是建立在 GATT (Generic Attribute Profile) 协议之上.GATT 是一个在蓝牙连接之上的发送和接收很短的数据段的通用规范,这些很短 ...
- OpenCV实现图像上添加汉字 转
<span style="font-size:18px;">void GetStringSize(HDC hDC, const char* str, int* w, i ...