Dapp 持久化平台 IPFS

https://ipfs.io/

https://github.com/ipfs/ipfs

Dapps 一览表

1、基本使用
ipfs init
会生成 peer identity: QmSC9dSHZT78dUVPWhnW4QDnM8b2o1enX1m3447cJeKdeL ,个人p2p身份证标识,以后经常用到。

ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/about
ipfs deamon
然后在浏览器 http://localhost:8080/ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/about

https://gateway.ipfs.io/ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/quick-start

查看有传的所有文件
http://localhost:8080/ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/

查看别人上传的图片(猫)
https://gateway.ipfs.io/ipfs/QmW2WQi7j6c7UgJTarActp7tDNikE4B2qXtFCfLPdsgaTQ/cat.jpg

https://ipfs.io/ipfs/QmW2WQi7j6c7UgJTarActp7tDNikE4B2qXtFCfLPdsgaTQ/cat.jpg


2、管理界面
先配置http头(注意官方github写的端口是3000,而ipfs默认使用的是5001)
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["http://localhost:5001"]'
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["PUT", "GET", "POST"]'
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Credentials '["true"]'
如果发现配置错误,可以重置
ipfs config --json API.HTTPHeaders {}

然后启动 ipfs deamon,之后
http://localhost:5001/webui/
会自动重定向到
http://localhost:5001/ipfs/QmQLXHs7K98JNQdWrBB2cQLJahPhmupbDjRuH1b9ibmwVa/

https://gateway.ipfs.io/ipfs/QmSC9dSHZT78dUVPWhnW4QDnM8b2o1enX1m3447cJeKdeL/1.jpg

3、修改ipfs配置

ipfs config edit

默认情况下网关对外不可访问,所以本地上传的文件,通过ipfs.io是访问不到的,可修改IP配置。
"Gateway": "/ip4/127.0.0.1/tcp/8080",

"Gateway": "/ip4/0.0.0.0/tcp/8080",
但即使如果,也经常不能使用公网ip如gateway.ipfs.io或ipfs.io来访问到本地文件,因为公网网关性能问题。所以最好在本地测试。

4、添加文件到ipfs

ipfs add 1.jpg
QmRUbYkptgQUhLoqSVxJjEKEbyeafrgDwS8f9nuSSAjcU2
然后浏览
http://localhost:8080/ipfs/QmRUbYkptgQUhLoqSVxJjEKEbyeafrgDwS8f9nuSSAjcU2

ipfs add 1.jpg -w 会新建一个文件夹,并在里面有一个1.jpg文件,文件名不会修改

查看帮助
ipfs add --help

5、太多连接,导致流量增多如果限制,基本是使用了4001端口进行通讯的。
修改配置全部换成本地监听,如
"Swarm": [
      "/ip4/127.0.0.1/tcp/4001",

并去掉ipv6的监听(会对所有网卡监听,看防火墙上是没有跑流量的,22M都是在ipv4上的)
"/ip6/::/tcp/4001"   

修改完重启ipfs daemon就可以了,不会自动跟swarm进行通讯了。相当于所有peer关闭了,执行命令 ipfs swarm peers 也不会有列表了

https://ipfs.io/docs/examples/

6、接口获取刚上传的图片
curl "http://127.0.0.1:5001/api/v0/object/get?arg=QmRUbYkptgQUhLoqSVxJjEKEbyeafrgDwS8f9nuSSAjcU2&encoding=json"
数据封闭在data里(unicode编码)
{"Links":[],"Data":""}

其他API:https://ipfs.io/docs/api/

转载于:https://my.oschina.net/swingcoder/blog/795465

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值