【IPFS应用开发】WEB3.0应用生态

本系列文章是针对 https://blog.csdn.net/weixin_43668031/article/details/83962959 内容的实现所编写的。开发经历包括思考过程、重构和推翻重来。

【IPFS应用开发】浅谈WEB3.0应用生态

此处开始播放PPT
个人简介
大家好,我是bill,这是我github地址:https://github.com/bill080307 ,就不多做介绍了,切入正题。

切换PPT
在这里插入图片描述

Web1.0 所有网页都是“只读的”,用户只能搜索信息,浏览信息。这是完全没有互动的,用户每次看到的信息均来自于站长发布。案例就是早期的博客、新闻类网站、和购物网站,这里说一下购物网站,像淘宝这样的电商购物平台并非完全只读,这里举例的是早期购物网站,店家拥有完全自己的服务器和网页。现在也有,比如蚂蚁矿机的购物页面。

Web2.0 时代,也是我们现在所处的时代。形形色色的社交网站和直播互动媒体,是Web 2.0的代表。这里公司只运营“程序”、“平台”,而非数据,或者说大部分数据都来自于用户上传,这也带来了大量互动。如电商购物平台,淘宝这样的平台他自己不卖货,他提供平台让商家用户入住,让买家用户浏览、评论。这里就出现了一个极大的弊端:用户只能按照商家、平台的要求去浏览网页和评论。比如电商平台右上角会有一块很大的广告页面,图片一定显示在左面,以及评论一定在最底下的,我就不能个性化一点了吗?我想网页一打开,先看到的是0星好评,这是完全做不到的。再比如IM类软件,这是有带动性的,我玩微信的时候,没人玩微信,我在qq软件里积累了大量好友,而他们开始使用微信,这一点也许和年龄段好友积累有关。80后90后00后,接触到网络通信体系的时间比接触到手机通信体系的时间要早的多。也许你没有手机号,但你一定有QQ。但是家长们60后70后80后,他们的社交关系网是完全建立在手机通信体系上的,WeChat作为建立在手机通信体系上的网络通信软件,使得这部分群体成为了推广者。这部分是WeChat推广时候的主力军。我错过了微信社交黄金阶段。那么我是否能使用qq和微信上的账号聊天呢?虽然这是同一个公司的产品,但还算做不到的。

Web3.0 新时代。这里谈一下我的见解。这是一种全新的上网方式,几乎看不到平台了,或者说平台更多了。你有一个大胆的想法就可以成为平台。你需要让别人接受你的想法就可以使用的软件。比如你现在出行,会想到公交车、动车、飞机,在考虑距离等因素的情况下,默认会选一种合适的,这只是建立在你先有的知识体系中的潜意识行为。在你考虑出行的时候,绝对不会去想“任意门”这种交通工具,也许有人想了,你会认为他是傻子。但是在新的3.0时代,“任意门”这种bug交通工具将会是默认选项。回到我们的二进制世界下。优酷土豆是合一公司的产品,2个产品有着极为相似的应用逻辑和数据结构,但是他们的数据是完全独立的,即使账号可以互相登陆,那也只是oa2的授权登陆罢了,仍然2个账号。但在web3.0时代,具有相同数据的不同实现应用会比比皆是。以BTC为例,因为BTC算是Web3.0的启蒙老师,光是Bitcoin core网站上推荐的钱包应用就多达13款之多,他们拥有的核心数据完全一致,仅仅在细小的功能上有区别,而这些区别也是服务于核心数据的。也许在web3.0盛行之际,Twitter client 可以发微博、微博客户端可以发Twitter。这也是美好的愿景。

切换PPT了
在这里插入图片描述
这里给大家列出的是我正在实现的一些基于web3.0,主要是ipfs的应用。
APP1:长视频应用,这是视频类应用。
APP2:短视频应用,这也是一个视频类应用。
这2者有着具有相同的files.json的定义。仅在数据结构和逻辑的组织方面有差别,APP1将所有数据包括索引数据和储存数据都放到了ipfs上,而APP2 索引数据目前是放到ETH,智能合约里,只有储存数据放在了ipfs上。这2个视频应用如果播放相同的视频文件时,将互相加速。索引数据要不了几KB,即使能互相加速那KB数据,意义不是很大。
APP3:视频直播应用。这是一个实时性很强的、但又可以遗失过去数据的应用,使用的是ipfs publish 视频hls切片的hash 来完成的。目前还没有开始做,基础代码实现以及完成,可见我之前的博客。
APP4:这是一种前所未有的尝试,将小程序,这里指的是HTML5离线应用的js程序。并非特指微信小程序。将HTML5离线应用输出好之后和IPNS绑定来完成发布、更新迭代。
APP5:这是一个网盘类应用,其实在ipfs client中已经潜入了一个网盘,但是那个网盘界面不是很友好,并且没有一些周边功能,比如与本地文件夹同步、文件版本追溯、文件metadata收集,已经文件分享功能、扫描二维码收取文件等。
其他:目前在开发过程中,遇到的小工具,我也介绍一下,这些工具虽然我不把他当做生态来做,但是这些工具为开发上面的应用逻辑做出了很大个贡献。
6:视频上传助手:在我编写web版的videoShare时,遇到的一个很严重的问题就是视频数据我如何去获取,视频是什么编码的,几个通道等等,找到了一些js插件,但是只能识别到H5能用的,比如h265视频编码、wmv视频编码和ac3音频编码就识别不了,如果使用js版的ffmpeg,开销太大。最终做了一个py+ffmpeg+goipfs的视频上传助手,将videoShare的应用逻辑和上传难题先分离开来。
7:ipfs gateway的 ipns缓存。主要是在测试ipns发布时,出现的ipfs查询ipns,会去询问周围节点,一般都会到1分钟超时时间再返回,这不管是开发测试也好,正式上线运行也好,都是不可能接受的。因此做了这个ipns加速器,这在ipns发布迭代中有很重要的贡献。
8:在做Android应用时,作为应用自身apk的更新,和传统的http 更新update.json 不同的是,这个apk是去ipns上拿数据更新的。这就需要一个apk发布器来管理和发布apk应用。

在这里插入图片描述

谢谢观看

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值