IPFS daemon和公共网关 / 网络研习社#54

in #cn5 years ago

ipfs

IPFS daemon提供后台的网络服务,但是这个守护进程相当脆弱,动不动就挂了!挂了也不会重启之类的,这样的话,网络的服务就意外地终止了!

IPFS在容错上真是做得不好,更可恶的是在github上的案例中竟然还有恶意代码!比如在这:
https://github.com/ipfs/js-ipfs/blob/master/examples/browser-vue/package.json ->

"dependencies": {
    "core-js": "^2.6.5",
    "ipfs": "file:../../",
    "vue": "^2.6.10"
  },

如果你是直接这样安装你就死翘翘了,"ipfs": "file:../../"这个会生成无限循环地文件夹,电脑直接卡死!刚开始就觉得有点怪,没多想,就直接npm install跑起来看看,没想到会一直在生成无限循环地文件夹!一直到现在我还没有成功把它删掉!

systemctl-service

要使IPFS daemon一直健壮地服务:挂了能重启,就需要使用systemctl。这个玩意我也不太熟,现学现卖。

  1. 先which命令查看jsipfs执行文件的位置,比如查到下面的路径:
    /usr/local/bin/jsipfs
  2. vim /lib/systemd/system/jsipfs.service,将下面代码贴入:
[Unit]
Description=JSIPFS Daemon Client
[Service]
ExecStart=/usr/local/bin/jsipfs daemon
Restart=always
RestartSec=30
Type=simple
User=root
Group=root
[Install]
WantedBy=multi-user.target
  1. systemctl daemon-reload
  2. systemctl enable jsipfs
  3. systemctl start jsipfs

好了,这样就可以很安心地使用ipfs的服务了!

公共网关

如果你的服务器挂了,其实你还是可以访问你的IPFS网络中的文件的。使用你文件的哈希来用公网也是一样可以访问的!这样的话,你的文件服务就会比一般的服务器更健壮。大家可以试下这个哈希值: Qmf1KNVAxc3oEmYTWnu2NrCKCkhs6xVkCbuRsd2F8Asmbq ,看下它是不是在所有的公网中都可访问。格式是这样的:https://cloudflare-ipfs.com/ipfs/Qmf1KNVAxc3oEmYTWnu2NrCKCkhs6xVkCbuRsd2F8Asmbq

查询公网地址

IPFS的公网还蛮稀缺的,再加上国内的环境会导致经常访问不了!这个没有太好的办法,除了自己建网关之外,就是随时查下哪些网关能用。

Sort:  

!thumbup
恭喜你!您的这篇文章入选 @justyy 今日 (2019-12-21) 榜单 【优秀的文章】, 回复本条评论24小时内领赏,点赞本评论将支持 @dailychina 并增加将来您的奖赏。
@justyy 是CN区的见证人,请支持他,给他投票,或者设置justyy为见证人代理。感谢!@justyy的主要贡献:https://steemyy.com

Congratulations! This post has been selected by @justyy as today's (2019-12-21) 【Good Posts】, Steem On! Reply to this message in 24 hours to get rewards. Upvote this comment to support the @dailychina and increase your future rewards! ^_^

SteemIt 工具、API接口、机器人和教程
SteemIt Tools, Bots, APIs and Tutorial



If you believe what I am doing, please consider a spare vote voting me here, thank you very much indeed.

@justyy - the author of https://SteemYY.com and I have been a Steem Witness for more than a year now.

Coin Marketplace

STEEM 0.19
TRX 0.14
JST 0.029
BTC 64063.06
ETH 3144.15
USDT 1.00
SBD 2.55