当前位置: 首页 > article >正文

solidity案例详解(六)服务评价合约

 有服务提供商和用户两类实体,其中服务提供商部署合约,默认诚信为true,用户负责使用智能合约接受服务及评价,服务提供商的评价信息存储在一个映射中,可以根据服务提 供商的地址来查找评价信息。用户评价信息, 服务提供商的评价信息会随之更新。服务提供商查询自己的总评分,评价次数以及所有用户评价内容使用了Solidity语言提供的abi.encodeWithSignature函数 将评价信息打包成交易。然后调用call函数发送交易,并等待交易确认。最后,将用户评价信息上传至智能合约,以便在区块链上进行永久存储

 各合约功能:
 1.合约的构造函数在合约部署时执行,将合约创建者的地址设为服务提供商的地址,并将其默认标记为可信。


2.writeServiceInformation: 允许服务提供商(只有服务提供商本人)写入服务信息


3.submitEvaluation: 允许用户提交对服务提供商的评价。评价包括评分和评论。


4.getProviderScore: 提供对服务提供商总评分的查询功能。


5.getNumEvaluations: 提供对服务提供商收到的评价次数的查询功能。


6.isTrustedProvider: 提供对服务提供商是否被认为可信的查询功能。


7.setTrustedProvider: 允许服务提供商(只有服务提供商本人)修改自身的可信状态。


8.sendTransactionWithEvaluation: 允许服务提供商以交易的方式,将目前所有用户评价信息写入区块链。

9.evaluationsByServiceProvider: 根据服务商地址利用索引查询用户评分和评价。


10.getEvaluationsByServiceProvider: 提供对服务提供商收到的所有用户评价信息的查询功能。

需要源码,定制合约及技术服务都可以私信我
 


http://www.kler.cn/news/161351.html

相关文章:

  • 集成开发环境 PyCharm 的安装【侯小啾python基础领航计划 系列(二)】
  • ARM虚拟化与车联网安全应用
  • 第二十一章网络通信总结博客
  • 最全的DEM数据,我给你们处理好了
  • SpringBoot中MyBatis-Flex的集成和使用
  • 关于高校电子邮件系统开通双因素认证的经验分享-以清华大学为例
  • 2个月拿下信息系统项目管理师攻略(攻略超级全)
  • 德国进口高速主轴电机在机器人上的应用及选型方案
  • 龙迅LT2611UX 四端口LVDS转HDMI(2.0)
  • 软件工程-(可行性分析、需求分析)
  • 安装you-get(mac)
  • 说说React jsx转换成真实DOM的过程?
  • 【链表Linked List】力扣-109 有序链表转换二叉搜索树
  • [node] Node.js的Web 模块
  • Ubuntu之Sim2Real环境配置(坑居多)
  • 好用免费的AI换脸5个工具
  • <软考>软件设计师-3程序设计语言基础(总结)
  • ESP32-Web-Server编程-通过 Base64 编码在网页中插入图片
  • Windows+WSL开发环境下微服务注册(Consul)指定IP
  • 第5节:Vue3 JavaScript 表达式
  • 道可云会展元宇宙平台全新升级,打造3D沉浸式展会新模式
  • React笔记
  • 软件多开助手的创新使用:在同一设备上玩转多个游戏
  • 软件工程期末复习(2)
  • 【Linux】公网远程访问AMH服务器管理面板
  • 外包干了4年,技术退步明显...
  • python-比较Excel两列数据,并分别显示差异
  • 处理器中的TrustZone之安全状态
  • Git常用命令#merge分支合并
  • java--泛型