利用IPFS构建短视频应用开发经历(六)

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

到目前为止,已经完成了智能合约的编写,主要分为结构体的定义和操作方法的编写,
一共有7种结构体:

结构体含义
User用户
Video视频
Videofile视频文件
Comment评论、弹幕
Lable标签
Gratuity打赏记录
Album专辑

一共26种操作方法:我把他们分成4个类别

操作分类方法作用备注参数返回
用户操作setMyInfo设置我的信息setMyInfo(昵称,简介,头像)无返回
用户操作setMyNickname设置我的昵称setMyNickname(昵称)无返回
用户操作setMyProfile设置我的简介setMyProfile(简介)无返回
用户操作setMyAvatar设置我的头像setMyAvatar(头像)无返回
用户操作getUserInfo获取用户信息无需消耗getUserInfo(用户地址)nickname=昵称,
profile=简介,
avatar=头像,
videoNums=用户发布的数量
视频操作publish发布视频publish(标题,封面,视频信息,视频介绍,时长,文件对象,文件信息,大小,宽度,高度,帧率)articleId=视频id
视频操作setVideoPermission设置视频权限setVideoPermission(视频ID,权限数值)无返回
视频操作setVideo重新设置视频封面和视频信息setVideo(视频ID,封面,视频信息无返回
视频操作setVideoInfo重新设置标题和视频简介setVideoInfo(视频ID,标题,视频信息)无返回
视频操作addVideofile添加一个视频文件addVideofile(视频ID,文件对象,文件信息,文件大小,宽度,高度,帧率)无返回
视频操作setFilePermission设置视频文件的权限setFilePermission(视频ID,文件ID,权限数值)无返回
视频操作getVideo获取视频无需消耗getVideo(视频ID)title=标题,
cover=封面,
videoinfo=视频信息,
info=视频简介,
duration=时长,
timestamp=时间戳,
author=作者地址,
commentsNum=评论数量,
gratuityNum=打赏数量,
gratuitySum=打赏总金额
视频操作getVideoFile获取视频信息无需消耗getVideoFile(视频ID,文件ID)filename=文件地址,
fileinfo=文件信息,
size=大小,
width=宽度,
height=高度,
fps=帧率,
fileNum=文件个数
其他内容操作makeLable创建标签makeLable(视频ID,标签)无返回
其他内容操作getVideoLable获取标签无需消耗getVideoLable (视频ID,标签ID)lable=标签内容,times=标签次数
其他内容操作makeComment发布一个评论/弹幕makeComment(视频ID,视频时间,评论内容)无返回
其他内容操作changeCommen修改评论/弹幕changeCommen(视频ID,评论ID,视频时间,评论内容)无返回
其他内容操作getVideoComment查看评论/弹幕无需消耗getVideoComment (视频ID,评论ID)content=内容,
timestamp=时间戳,
videotimestamp=视频时间,
author=作者地址
其他内容操作reward打赏需要指定金额reward(视频ID)无返回
其他内容操作getGratuitys查看打赏无需消耗getGratuitys (视频ID, 打赏ID)author=作者,
gratuity=打赏数量
专辑操作createAlbum创建专辑createAlbum(专辑标题,封面,专辑信息)albumnum=专辑ID
专辑操作editAlbum编辑专辑editAlbum(专辑ID,标题,封面,专辑信息)无返回
专辑操作createAlbumVideo插入视频createAlbumVideo(专辑ID,视频ID)videonum=视频的专辑序号
专辑操作updateAlbumVideo更新视频updateAlbumVideo(专辑ID,专辑序号,视频ID)无返回
专辑操作getAlbum获取专辑无需消耗getAlbum(专辑ID)title=标题,
cover=封面,
info=信息,
author=作者,
videonum=视频数量,
durationSum=持续时间
专辑操作getAlbumVideo获取专辑内的视频无需消耗getAlbumVideo(专辑ID,视频的专辑序号)videoId=视频ID,
title=标题,
cover=封面,
videoinfo=视频信息,
info=视频简介,
duration=时长,
timestamp=时间戳,
author=作者地址,
commentsNum=评论数量,
gratuityNum=打赏数量,
gratuitySum=打赏金额

上述两张表格包含了合约全部的信息(header),相当于SDK的概念了,在前端应用或者和合约交互的时候需要注意这些方法

注:其中表格备注栏中,“需要指定金额”,指的是打赏金额,在调用合约时需要额外传入费用参数,当然可以打赏0元,付一个手续费,就是赞。
“无需消耗”,一般是get方法,从区块链中读取数据,这不需要消耗手续费。
其余方法都是需要消耗手续费的,需要向区块链中写入数据或者更改数据。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值