目的

基于区块链技术背景下的视频应用。

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

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐