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 showipfs配置信息
- 节点服务器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的更多相关文章
随机推荐
- Introduction to CQRS
原文链接: http://www.codeproject.com/Articles/555855/Introduction-to-CQRS What is CQRS CQRS means Comma ...
- svn cleanup failed–previous operation has not finished; run cleanup if it was interrupted
svn提交遇到恶心的问题,可能是因为上次cleanup中断后,进入死循环了. 错误如下: 解决方法:清空svn的队列 1.下载sqlite3.exe 2.找到你项目的.svn文件,查看是否存在wc.d ...
- jquery 发送短信60后重新获取
先需要form表单,获取短信的按钮做成两个相同的,一个显示,一个隐藏. <div class="item"> <p clas ...
- 用c#语言编写银行利率
sing System;using System.Collections.Generic;using System.Linq;using System.Text; namespace ConsoleA ...
- JS JavaScript事件循环机制
区分进程和线程 进程是cpu资源分配的最小单位(系统会给它分配内存) 不同的进程之间是可以同学的,如管道.FIFO(命名管道).消息队列 一个进程里有单个或多个线程 浏览器是多进程的,因为系统给它的进 ...
- Javafxml
FXML入门教程 本部分教程包括两部分内容: 为什么使用FXML(基本介绍以及用FXML创建用户界面的好处): 使用FXML创建用户界面(通过创建简单登录应用来完成本教程部分). 1.1 为何使用FX ...
- POJ2406 Power Strings(KMP)
Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 56162 Accepted: 23370 Description Giv ...
- Percona-Tookit工具包之pt-kill
Preface Sometimes,we are determined to kill some MySQL connections which are occupying huge ...
- java 代码调用函数
sql 中调用函数 getDistance(lng1 float, lat1 float, lng2 float, lat2 float) 例如: SELECT id, f_seller_id sel ...
- 05 shell编程之正则表达式
正则表达式&&文本处理利器 学习目标: l 掌握正则表达式的运用 l 掌握sed.awk文本处理工具的使用 目录结构: 正则表达式 正则表达式概述 l 正则表达式:使用单个字 ...