一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于区块链智能合约的线上课程交易方法与系统与流程

2022-02-19 12:17:57 来源:中国专利 TAG:


1.本发明涉及区块链技术领域,尤其涉及一种基于区块链智能合约的线上课程交易方法与系统。


背景技术:

2.在寻找老师进行专业知识或技能学习时,由于信息的不对称或者时间精力有限,学员与老师之间很难快速匹配,往往需要第三方作为中心枢纽在两者之间进行联系。
3.在传统的线上课程交易系统中,第三方中介服务机构作为统一集中管理的中心化平台,提供学员与老师之间沟通的桥梁,能够快速匹配双方的需求。然而,正如中心化体系本身所存在的缺陷,第三方中介服务机构同样存在诸如收取佣金不透明,学员评价不真实,随时可能爆雷的问题,这些问题造成的价值损失将最终传递给用户。


技术实现要素:

4.为了克服上述现有平台存在的问题,本发明提供一种基于区块链智能合约的线上课程交易方法与系统,可使第三方中介服务机构的佣金透明化,保证评价真实可追溯,避免爆雷情况的发生。
5.本发明提供的技术方案是:一种基于区块链智能合约的线上课程交易方法,通过课程交易平台给学员、中介服务机构以及老师绑定区块链账号地址,在以太坊部署遵循以太坊erc20代币规范的智能合约,将收取佣金信息公开,学员在报名时通过调用合约储值接口进行课程代币购买,课程结束后合约自动向老师和中介支付课程代币,中介和老师通过调用合约提取接口将所得课程代币兑换成数字货币,学员退课时通过合约退费接口将剩余课程代币在扣除一定手续费之后兑换成数字货币,在课程结束后将学员对老师课程的反馈评价存储在链上;该方法主要包括:智能合约编写阶段,智能合约编译部署阶段,以及前后端调用智能合约阶段;其中:智能合约编写阶段具体执行如下步骤:步骤1,所述智能合约使用solidity语言开发,继承erc20协议,实现标准接口函数,设定课程代币名称和发行总量,设定账户地址和对应余额的键值对、账户地址和对应角色身份的键值对、账户地址和评价反馈的键值对;步骤2,合约对外提供储值接口,储值接口deposit实现数字货币与课程代币之间的兑换,调用者向合约地址转入数字货币,合约地址向调用者转入课程代币,兑换比例值rate作为状态常量存储在存储区storage中,一经设定无法更改;步骤3,合约对外提供支付接口,支付接口pay实现学员向老师和中介支付课程代币,调用此接口时,调用者课程代币被扣除,并以一定的比例将扣除的课程代币转入对应老师和中介账户地址的余额中;步骤4,合约对外提供提取接口,提取接口withdraw实现老师和中介进行课程代币的兑换,调用者向合约地址转入课程代币,合约地址向调用者转入数字货币,兑换比例值为
步骤2中定义的rate状态常量;步骤5,合约对外提供评价接口,评价接口comment实现学员对课程的及时反馈需求,调用此接口时,学员可以对老师进行及时的课程反馈,评价内容在链上进行保存,保证评价可追溯且不可篡改;步骤6,合约对外提供退费接口,退费接口refund实现学员的退费需求,调用此接口时,调用者课程代币被扣除,按兑换比例值rate得到相应的数字货币,其中以一定比例的手续费tax转入中介账户地址,扣除手续费后的数字货币转入学员账户地址;智能合约编译部署阶段具体执行如下步骤:步骤7,所述智能合约编写完成后,使用基于以太坊solidity语言的开发框架truffle进行编译,生成abi和bytecode;步骤8,编译成功后进行本地测试,使用ganache

cli生成本地测试链,通过truffle对合约进行部署测试;步骤9,本地测试成功后进行正式发布,使用rpc方式运行geth,在geth上部署和发布智能合约;智能合约调用阶段具体执行如下步骤:步骤10,智能合约部署完成后,通过web3.js和abi调用智能合约中的函数以实现链上数据的读取和修改。
6.利用上述基于区块链智能合约的线上课程交易方法,本发明实现了相应的基于区块链智能合约的线上课程交易系统,线上课程交易系统控制链上合约,链下包括学员服务系统和老师服务系统;其中,学员服务系统包括充值模块、信息查询模块、预约选课模块、上课模块、课后评价模块以及自主退费模块;该系统采取b/s架构,后台数据库需建立一张学员表student以存储学员相关信息;充值模块中学员可通过调用步骤2储值接口deposit进行课程代币充值,充值后在区块链存储节点上自动标识为学员用户,后台服务器为其绑定以太坊账户地址信息,学员可在前端设置相关个人信息,信息存储在后台数据库student表中;信息查询模块用于账户余额查询和老师相关信息查询,其中通过链上数据可查看账户余额,通过平台的后台数据库可查看授课老师的相关信息、评价与日程表;预约选课模块中,只有课程代币余额充足的学员可以进入选课功能,通过前后端的交互将学员与老师进行匹配,选课完毕后台将用户课程代币扣除,更新数据库中账户余额数,此时不更新区块链账户余额,提前取消选课可以免费取消,此时恢复课程代币,更新数据库中账户余额数,不更新区块链账户余额;上课模块中,选完课并未提前取消的学员可以进入上课功能,通过在线音频或者视频进行连接,课程结束后自动触发步骤3的支付接口pay;课后评价模块中,结束对应课程学习的学员可以进入评价功能,通过调用步骤5的评价接口comment对老师进行及时反馈;自主退费模块中,课程代币未使用完毕的学员可以申请退款操作,通过调用步骤6的退费接口refund实现学员的退费需求;老师服务系统包括资格审核模块、开课模块以及提现模块;后台数据库需建立一张老师表teacher以存储老师相关信息;审核模块中对申请注册为老师的用户进行资格审核,审核通过后分配绑定的区块链账户地址,在区块链存储节点上默认标识为老师用户,老师的相关资质与信息存储在后台数据库teacher表中,并展示在前端页面中;开课模块中,
拥有区块链账户地址并且被学员选中的老师可以进入开课功能,通过在线音频或者视频连接进行授课,后台记录在线授课时间确保课程正常执行;提现模块中,获得课程代币的老师可以调用步骤4的提取接口withdraw,进行课程代币的兑换。
7.本发明的有益效果是:本发明提供一种基于区块链智能合约的线上课程交易方法与系统,通过将关键的交易操作与智能合约结合链上进行,可将第三方中介服务机构的佣金写入智能合约进行公开,通过一次一课直接向老师与中介支付的交易模式可保证资金流向正确,通过智能合约的退费机制可以有效避免爆雷情况的发生,通过将评价上链,可防止第三方中介服务机构自行篡改删除,保证评价真实不可篡改且可追溯。本发明能够使第三方中介服务机构的佣金透明化,保证评价有效性,同时避免机构卷钱跑路情况的发生。
附图说明
8.图1为本发明基于区块链智能合约的线上课程交易方法的流程框图。
9.图2为本发明基于区块链智能合约的线上课程交易系统的结构框图。
具体实施方式
10.下面结合附图,通过实施例进一步描述本发明,但不以任何方式限制本发明的范围。
11.图1为本发明基于区块链智能合约的线上课程交易方法的流程框图,具体实施过程包括三个阶段:阶段一、智能合约编写阶段;阶段二、智能合约编译部署阶段;阶段三、前后端调用智能合约阶段。
12.其中阶段一包括如下步骤:步骤1,本发明的智能合约使用应用最为广泛的solidity语言编写,继承erc20协议并实现余额查询balanceof方法,转账函数transfer方法,设定课程代币名称name,设定发行总量totalsupply,设定账户地址和对应余额的键值对balance,设定账户地址和对应角色身份的键值对identity,设定账户地址与评价反馈的键值对commentgoodmark和commentbadmark;步骤2,合约对外提供储值接口,储值接口deposit实现数字货币与课程代币之间的兑换,调用者向合约地址转入数字货币,合约地址向调用者转入课程代币,兑换比例值rate作为状态常量存储在存储区storage中,一经设定无法更改;步骤3,合约对外提供支付接口,支付接口pay实现学员向老师和中介支付课程代币,调用此接口时,首先检查学员账户余额是否大于课程费用,满足条件时调用者课程代币被扣除,将扣除的课程代币按一定佣金比例分别增加至老师和中介两个账户地址的课程代币余额中,佣金比例值fee作为状态变量存储在存储区storage中,提供一个更改函数,后续允许合约创建者变更;function pay(address teacher, address mediator, uint coursefee) public{
ꢀꢀꢀꢀꢀꢀꢀꢀ
uint feetomediator;uint remaining;
ꢀꢀꢀꢀꢀꢀꢀꢀ
require(balanceof(msg.sender) > coursefee);
ꢀꢀꢀꢀꢀꢀꢀꢀ
feetomediator = coursefee * fee;remaining = course
ꢀ–
feetomediator;
ꢀꢀꢀꢀꢀꢀꢀꢀ
transfer(mediator, feetomediator);transfer(teacher, remaining);}步骤4,合约对外提供提取接口,提取接口withdraw实现老师和中介进行课程代币兑换成数字货币,调用者向合约地址转入课程代币,合约地址向调用者转入数字货币,兑换比例值为步骤2中定义的rate状态常量;步骤5,合约对外提供评价接口,评价接口comment实现学员对课程的及时反馈需求,调用此接口时,学员可以对老师进行及时的课程反馈,评价内容在链上进行保存,保证评价可追溯且不可篡改,为节省存储在链上的开销,评价采取地址与无符号数字uint32的映射,分别为好评键值对和差评键值对,在学员给出好评时相应的好评数加一,在学员给出差评时相应的差评数加一;步骤6,合约对外提供退费接口,退费接口refund实现学员的退费需求,调用此接口时,调用者课程代币被扣除,其中以一定手续比例值tax计算手续费转入中介账户地址,扣除手续费后的课程代币转入合约账户地址,按兑换比例值rate得到相应的数字货币值,其中手续比例值tax作为状态变量存储在存储区storage中,后续允许合约创建者变更;智能合约编译部署阶段具体执行如下步骤:步骤7,本发明的智能合约编写完成后,使用truffle框架,将原始代码编译成以太坊认可的字节码,生成abi,编译后的文件是.json格式;步骤8,编译成功后进行本地测试,使用ganache

cli生成本地测试链,通过truffle对合约进行部署,打开truffle控制台,测试编写好的合约;步骤9,本地测试成功后进行正式发布,使用rpc方式运行geth,在geth上部署和发布智能合约;智能合约调用阶段具体执行如下步骤:步骤10,智能合约部署完成后,通过web3.js和abi调用智能合约中的函数以实现链上数据的读取和修改。
13.通过上述三个阶段的操作,实现基于区块链智能合约的线上课程交易。
14.利用上述基于区块链智能合约的线上课程交易方法,本发明实现了相应的基于区块链智能合约的线上课程交易系统,图2为基于区块链智能合约的线上课程交易系统结构框图;基于区块链智能合约的线上课程交易系统包括如下子系统:子系统一、学员服务系统;子系统二、老师服务系统;其中子系统一包括如下模块:模块一、充值模块,学员可通过调用步骤2储值接口deposit进行课程代币充值,充值后在区块链存储节点上自动标识为学员用户,后台服务器为其绑定以太坊账户地址信
息,学员可在前端设置相关个人信息,信息存储在后台数据库student表中;模块二、信息查询模块,包括账户余额查询和老师相关信息查询,其中通过链上数据可查看账户余额,通过平台的后台数据库可查看授课老师的相关信息,评价与日程表;模块三、预约选课模块,只有课程代币余额充足的学员可以进入选课功能,通过前后端的交互将学员与老师进行匹配,选课完毕后台将用户课程代币扣除,更新数据库中账户余额数,此时不更新区块链账户余额,提前取消选课可以免费取消,此时恢复课程代币,更新数据库中账户余额数,不更新区块链账户余额;模块四、上课模块,选完课并未提前取消的学员可以进入上课功能,通过在线音频或者视频进行连接,课程结束后自动触发步骤3的支付接口pay;模块五、课后评价模块,结束对应课程学习的学员可以进入评价功能,通过调用步骤5的评价接口comment对老师进行及时反馈;模块六、自主退费模块,课程代币未使用完毕的学员可以申请退款操作,通过调用步骤6的退费接口refund实现学员的退费需求;其中子系统二包括如下模块:模块七、审核模块,对申请注册为老师的用户进行资格审核,审核通过后分配绑定的区块链账户地址,在区块链存储节点上默认标识为老师用户,老师的相关资质与信息存储在后台数据库teacher表中,并展示在前端页面中;模块八、开课模块,拥有区块链账户地址并且被学员选中的老师可以进入开课功能,通过在线音频或者视频连接,后台记录在线授课时间确保课程正常执行;模块九、提现模块,获得课程代币的老师可以调用步骤4的提取接口withdraw,进行课程代币的兑换。
15.需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献