ipfs01
IPFS音乐播放器
IPFS相关
IPFS第一次亲密接触
什么是IPFS
IPFS对比HTTP/FTP等协议的优势
IPFS应用场景
ipfs入门
- 官网地址:https://ipfs.io
- 下载安装:https://dist.ipfs.io/#go-ipfs
- 节点初始化
ipfs init
- 如果出现
Error: cannot acquire lock: can't lock file
删除其后边给出的repo.lock文件即可
- 节点配置
ipfs id
查看当前节点id等信息ipfs config show
ipfs配置信息
- 节点服务器daemon
ipfs daemon
- 修改IPFS默认路径
- 开放API请求
- ipfs config --json Addresses.API '"/ip4/0.0.0.0/tcp/5001"'
- 开放公共网关
- ipfs config --json Addresses.Gateway '"/ip4/0.0.0.0/tcp/8080"'
发布数据
上传文件
ipfs add haha.txt
文本ipfs add cat.jpg
图片ipfs add -q cat.jpg
只输出hash结果hash记录返回的文件路径信息
上传/查看目录
添加目录:
ipfs add -r dir
查看目录:
ipfs ls Qmej3u92BHJVkkiC8F5uL1J4a98no76TnXmQxHGXCHGE7t
发布网站
把包含index.html的文件夹add到ipfs网络即可
获取数据
命令行获取 cat/get
ipfs cat QmaoahyA1UejtgPifPvjpsviePsDnJn8vHrYAN9nfF7w9N
查看文本
ipfs cat QmaoahyA1UejtgPifPvjpsviePsDnJn8vHrYAN9nfF7w9N > new-haha.txt
保存文本
ipfs cat Qmd286K6pohQcTKYqnS1YhWrCiS4gz7Xi34sdwMe9USZ7u > new-cat.jpg
保存图片
ipfs get QmZSwQghczB41omjfJipFPQ3FovYyLvXR9oa4Y9LQS7Urp -o tomcat.jpg
获取并保存文件
ipfs get QmZSwQghczB41omjfJipFPQ3FovYyLvXR9oa4Y9LQS7Urp -Cao tomcat-go
压缩并下载文件
ipfs get QmYtrQVXatZGm1WRKZ29vUt5tFa24xnTvhv6D71DSNVttZ -o ipfs-day01
获取文件夹
浏览器访问获取
在http://localhost:5001/webui下搜索hash值,可以raw查看原数据,download下载文件
在8080端口访问:http://localhost:8080/ipfs/Qmd286K6pohQcTKYqnS1YhWrCiS4gz7Xi34sdwMe9USZ7u
在ipfs.io访问:https://ipfs.io/ipfs/Qmd286K6pohQcTKYqnS1YhWrCiS4gz7Xi34sdwMe9USZ7u
不需要翻墙的网关:https://ipfs.infura.io/ipfs/Qmd286K6pohQcTKYqnS1YhWrCiS4gz7Xi34sdwMe9USZ7u
文本数据
图片数据
音频数据
files文件/文件夹操作
ipfs files cp <文件/文件夹的hash> <目标文件/文件夹>
拷贝文件
ipfs files ls -l
查看目录
在github客户端需要加两个斜杠//
ipfs files mkdir
创建目录
ipfs files cp
拷贝
ipfs files mv
移动
ipfs files stat
状态
ipfs files read
读取
React音乐播放器
音乐列表数据
音乐名称/歌手等文本信息
专辑图片展示
播放音频数据
网易音乐api地址:
ipfs-api:https://github.com/ipfs/js-ipfs-api
- 初始化环境端口号开启服务:
# Show the ipfs config API port to check it is correct
> ipfs config Addresses.API
/ip4/127.0.0.1/tcp/5001
# Set it if it does not match the above output
> ipfs config Addresses.API /ip4/127.0.0.1/tcp/5001
# Restart the daemon after changing the config # Run the daemon
> ipfs daemon
- cat获取数据
ipfs.files.cat("QmY4NqRyr9SebC3P6W3pzg22UK3QsJNDKGzDHqQZsEyPi3", function (err, file) {
if (err) {
throw err
}
const json = file.toString('utf8');
console.log(json)
that.setState({
songInfo: JSON.parse(json)
}) })
- add 添加数据
const ipfsAPI = require('ipfs-api')
const ipfs = ipfsAPI('localhost', '5001', {protocol: 'http'})
const buffer = Buffer.from('hello ipfs-api!')
ipfs.add(buffer)
.then( rsp => console.log(rsp[0].hash))
.catch(e => console.error(e))
设置cors
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["PUT", "GET", "POST", "OPTIONS"]'
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["*"]'
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Credentials '["true"]'
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Headers '["Authorization"]'
ipfs config --json API.HTTPHeaders.Access-Control-Expose-Headers '["Location"]'
ipns
- 绑定ipfs节点, 把一个文件/文件夹的hash发布到自己的ID下
ipfs name publish QmSx37PT8iV2XxzfHLMRYSxZEt87uE3jdQwCyz7otd5ktP
- 查看节点绑定的ipfs路径
ipfs name resolve [peerId]
- 离线客户端框架: https://github.com/electron/electron
ipfs01的更多相关文章
随机推荐
- centOS 7 更改root密码
Linux忘记密码怎么办,不用重装系统,进入emergency mode 更改root密码即可. 首先重启系统,按下 向下 按钮, 定位在第一个,摁 e ,进行编辑 找到 ro , 把ro改为 rw ...
- SqlSugar之SqlQueryDynamic返回值处理
现在有个需求,有一张表每个月表名都会变的,但结构是一样的,我们不能再用类映射来完成的,我不能每个月都去手动添加,我们只能使用sql语句来完成这个需求.为了方便我这边选择的是SqlQueryDynami ...
- vue webpack多页面构建
项目示例地址: https://github.com/ccyinghua/webpack-multipage 项目运行: 下载项目之后 # 下载依赖 npm install # 运行 npm run ...
- 选择排序_C语言_数组
选择排序_C语言_数组 #include <stdio.h> void select_sort(int *); int main(int argc, const char * argv[] ...
- Vue--- mint-UI 穿插
Vue-mint-UI库 概述:就是一个 封装好的库 安装/下载:npm install --save mint-ui 常用 1) Mint UI:a. 主页: http://mint-ui.git ...
- js中FormData+XMLHttpRequest数据传输
前言: 首先我们需要了解,前后端进行数据传输依赖于浏览器的XMLHttpRequest对象 一.什么是XMLHttpRequest对象? XMLHttpRequest 是DOM对象,提供了对于http ...
- 大学C++程序设计教程期末复习重点
第一章 1.cin与count的应用<iostream> 例: cin>>a; cout<<"hello"<<endl; cout& ...
- Windows获取物理内存的2种方式 - 随笔记录
typedef enum _SYSTEM_INFORMATION_CLASS { SystemBasicInformation, SystemProcessorInformation, // obso ...
- Flask-SQLAlchemy安装及设置
Flask-SQLAlchemy安装及设置 SQLALchemy 实际上是对数据库的抽象,让开发者不用直接和 SQL 语句打交道,而是通过 Python 对象来操作数据库,在舍弃一些性能开销的同时,换 ...
- Percona-Toolkit工具包之pt-archiver
Preface There's a common case that we neet to archive amount of records in some tables to a ...