go-ipfs入门及介绍
1、go-ipfs安装
参考:
https://mp.weixin.qq.com/s?__biz=MzUwOTE3NjY3Mw==&mid=2247483734&idx=1&sn=ef73c1d7b796ccfc2dae19be25ee04d6&chksm=f9177f58ce60f64edb3ea928d3a9984e1caf22b67143bab56c400e353a16e44c2de08ff78ce6&scene=21#wechat_redirect
在https://dist.ipfs.io/#go-ipfs(需FQ)下载IPFS的go语言版本实现,或者https://pan.baidu.com/s/1XivzokWIMIy9MwAUUpOBQg(32位)https://pan.baidu.com/s/1H9DRYZLKmGvdEzP0-DzjJA(64位)下载镜像文件,文件下载完成后解压即可。
将解压缩后的文件夹路径设置到windows环境变量PATH中,即可在命令行中使用ipfs命令,或者cd到该文件夹后执行ipfs命令。
运行命令:ipfs init
初始化配置ipfs,得到本机的ipfs节点id,也就是一串哈希字符串;
运行命令:ipfs cat /ipfs/节点id/readme
下载readme文件,并在命令提示符窗口显示其内容
运行命令:ipfs daemon
启动节点,命令提示符窗口被锁定
Ipfs除了命令行交互方式,还提供了webUI交互方式,可以在浏览器里面输入http://localhost:5001/webui,就可以看到本机节点及状态了。Firefox浏览器中访问正常;chrome浏览器中需要安装ipfs companion(ipfs伴侣)插件,才能正常查看,在chrome浏览器的扩展程序页面点击左上角“扩展程序”菜单中最下面的的chrome网上应用店,搜索ipfs companion进行安装。
2、ipfs常用命令
文件上传:ipfs add
上传文件ipfs add example.jpg
上传文件夹ipfs add –r dirpath
发布网页路径到IPNS
若我们上传一个网站根目录(文件夹)到ipfs站点,由于由于ipfs的hash对应着一个不可变的内容,每次更新网站之后,website的hash都会变,旧的link不能访问到新的内容。
ipfs提供了ipns来解决更新的问题。ipfs允许用户使用一个私有密钥来对哈希附加一个引用,使用一个公共密钥哈希(简称pubkeyhash)表示你的网站的最新版本。
ipfs name publish 网站根目录HASH
通过上述方式,就完成了网站根目录和一个固定的link的绑定,也就是ipfs的节点id。
绑定验证:ipfs name resolve 节点id
输出/ipfs/网站根目录HASH
IPNS访问固定节点Hash:
https://ipfs.io/ipns/节点id
说明:虽然ipfs设计的可以通过访问其他节点获取发布的数据,但目前的版本中若其他节点不主动通过文件HASH下载或浏览该文件,文件是不会自动缓存到其他节点,本节点关闭后将无法检索到该数据;仍然要启动本地节点或已经缓存了全部文件的其他节点,才能在公网上获取文件。
文件下载:ipfs cat
ipfs cat /ipfs/QmdDTor6dWzknFJPJuhJgrUYqd56WkFXYAxyxpEY7kUrEb > init.jpg
增加输出(> init.jpg),将文件保存到指定地方,否则会在命令提示符窗口输出显示
Normal
0
7.8 磅
0
2
false
false
false
EN-US
ZH-CN
X-NONE
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-font-kerning:1.0pt;}
文件删除:
在其他节点存储本地节点文件之前可以通过以下命令删除文件:
(1) 删除缓存
命令:ipfs pin rm HASH
该HASH可以是文件或目录对应的HASH
(2) 删除二进制块
命令:ipfs block rm HASH
执行以上两步之后,重启ipfs站点后,便无法访问HASH对应的文件或目录了;若其他节点上存储了该相同文件,则无法删除,如空文件夹。
批量清理本地节点内容:ipfs repo gc
该命令用来清理本地节点缓存的未创建缓存(pin)的文件或文件夹,存在缓存(pin)的文件或文件夹无法通过该命令清理。
缓存(pin)操作:
添加pin:ipfs pin add ipfs/HASH
删除pin:ipfs pin rm ipfs/HASH
查看pin信息:ipfs pin ls ipfs/HASH
若不带路径(ipfs/HASH)参数,则会列出本地节点的所有pin信息
go-ipfs入门及介绍的更多相关文章
- 2)Linux程序设计入门--进程介绍
)Linux程序设计入门--进程介绍 Linux下进程的创建 前言: 这篇文章是用来介绍在Linux下和进程相关的各个概念.我们将会学到: 进程的概念 进程的身份 进程的创建 守护进程的创建 .进程的 ...
- Web安全之XSS 入门与介绍
XSS的入门与介绍 跨站攻击 XSS全称跨站脚本(Cross Site Scripting),一种注入式攻击方式. XSS成因 对于用户输入没有严格控制而直接输出到页面 对非预期输入的信任 XSS的危 ...
- [Vue入门及介绍,基础使用、MVVM架构、插值表达式、文本指令、事件指令]
[Vue入门及介绍,基础使用.MVVM架构.插值表达式.文本指令.事件指令] 1)定义:javascript渐进式框架 渐进式:可以控制一个页面的一个标签,也可以控制一系列标签,也可以控制整个页面 ...
- 史上最简单的Hibernate入门简单介绍
事实上Hibernate本身是个独立的框架,它不须要不论什么web server或application server的支持.然而,大多数的Hibernate入门介绍都加入了非常多非Hibernate ...
- Mybatis学习笔记之一(环境搭建和入门案例介绍)
一.Mybatis概述 1.1 Mybatis介绍 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了go ...
- ava新手入门详细介绍
Java总有它的千般好处使你选择它,但这些随便翻翻书或在网上逛一圈就能找到答案.在本文中,笔者把自己学习Java的一些切身体会和过程写出来,供初学者做个参考. 我在学习Java的过程中主要围绕以下几个 ...
- Jenkins入门,介绍、安装
一.介绍 Jenkins: 三.安装 Jenkins: 第一种方式: 下载 windows 版本:进入 Jenkins 官网:https://jenkins.io/ 进入下 ...
- IPFS入门
相关链接 快速安装 深入浅出 IPFS指令集中文版 IPFS开发入门 filecoin 在线视频 go-ipfs
- NodeJs 入门到放弃 — 入门基本介绍(一)
码文不易啊,转载请带上本文链接呀,感谢感谢 https://www.cnblogs.com/echoyya/p/14450905.html 目录 码文不易啊,转载请带上本文链接呀,感谢感谢 https ...
- storm 入门原理介绍
1.hadoop有master与slave,Storm与之对应的节点是什么? 2.Storm控制节点上面运行一个后台程序被称之为什么? 3.Supervisor的作用是什么? 4.Topology与W ...
随机推荐
- 【opencv】c++ 读取图片 & 绘制点 & 绘制文字 & 保存图片
//read pic ]; sprintf(path, "%s%d/%s", image_dir.c_str(), cam_num, filename.c_str()); cv:: ...
- 确定比赛名次---hdu1285(拓扑排序)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1285 拓扑序就是求一个序列 数 a 出现在数 b 前面,最终输出满足条件的序列即可: 过程就是每次选取 ...
- Linux包管理及yum
1.光盘挂载 mount /dev/cdrom /mntcd /mnt 2.安装rpm包 rpm -ivh vsftpd-3.0.2-22.el7.x86_64.rpm rpm -Uvh vsftp ...
- rest_framework 之版本控制
一 作用 用于版本的控制 二 内置的版本控制类 from rest_framework.versioning import QueryParameterVersioning,AcceptHeaderV ...
- python基础之小数据池、代码块、编码
一.代码块.if True: print(333) print(666) while 1: a = 1 b = 2 print(a+b) for i in '12324354': print(i) 虽 ...
- Python3 格式化输出 %s & %d 等
1.打印字符串 print("My name is %s" %("Alfred.Xue")) #输出效果:My name is Alfred.Xue 2.打印整 ...
- Spark2.0 特征提取、转换、选择之二:特征选择、文本处理,以中文自然语言处理(情感分类)为例
特征选择 RFormula RFormula是一个很方便,也很强大的Feature选择(自由组合的)工具. 输入string 进行独热编码(见下面例子country) 输入数值型转换为double(见 ...
- PAT 1059 Prime Factors[难]
1059 Prime Factors (25 分) Given any positive integer N, you are supposed to find all of its prime fa ...
- SHELL脚本自动备份数据库
#!/bin/bash db_user="root" db_passwd="dddddd " db_name="mmmmmm" cd /db ...
- SQL各种连接——自连接、内连接、外连接、交叉连接的使用
首先准备了两个表 (Student 和 Course),其中 Student 表中的 C_S_Id 字段为外键列,关联的是 Course 表的 C_Id 主键列. 内连接(inner join):满足 ...