基于ipfs和eth的视频分享应用开发
视频dapp应用目的架构实现智能合约目的基于区块链技术背景下的视频应用。git:https://github.com/bill080307/douyinWithEth架构ipfs网络负责视频文件的储存、分发;eth网络负责数据检索和同步;实现为了在代码书写上有良好的效率,dapp端操作ipfs储存和eth数据库使用中间件,用插件的形式,这样不需要编写轮子,底层代码。注1:eth...
目的
基于区块链技术背景下的视频应用。
git:https://github.com/bill080307/douyinWithEth
架构
ipfs网络负责视频文件的储存、分发;
eth网络负责数据检索和同步;
实现
为了在代码书写上有良好的效率,dapp端操作ipfs储存和eth数据库使用中间件,用插件的形式,这样不需要编写轮子,底层代码。
注1:eth层面:账号管理、转账、网络连接等基础操作不在本dapp中实现,插件:MetaMask
注2:ipfs层面:目前ipfs还是测试网络,编写此dapp连filecoin测试网络都还没启动,因此此部分未来改动较大,在本例中直接使用ipfs的api,插件:ipfs-companion
注3:前端技术选型:本例使用vue作为前端,虽然react以及js中有较多框架适合做,本案例中无条件使用vue作为前端。
因此在上图中加入中间件:
由于ipfs还在测试阶段,eth的描述语言solidity对不定长度数据结构返回处理和浮点型数据不够友好,以太坊智能合约部署在Kovan网络之上。
智能合约
https://github.com/bill080307/douyinWithEth/blob/master/VideoShare.sol
其中头像储存的是图片文件在ipfs空间中的CID值。
struct User {
string nickname;
string profile;
string avatar;
}
mapping(address => User) users;
更新说明:本例不会以连载的方式更新,直接更新本文。
![Logo](https://devpress.csdnimg.cn/79de2bf0b7994defa4242ef90d5513fa.jpg)
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)