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

这篇具有很好参考价值的文章主要介绍了solidity案例详解(六)服务评价合约。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

solidity案例详解(六)服务评价合约,solidity例子,智能合约,区块链,去中心化,solidity

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

solidity案例详解(六)服务评价合约,solidity例子,智能合约,区块链,去中心化,solidity
2.writeServiceInformation: 允许服务提供商(只有服务提供商本人)写入服务信息

solidity案例详解(六)服务评价合约,solidity例子,智能合约,区块链,去中心化,solidity
3.submitEvaluation: 允许用户提交对服务提供商的评价。评价包括评分和评论。

solidity案例详解(六)服务评价合约,solidity例子,智能合约,区块链,去中心化,solidity

solidity案例详解(六)服务评价合约,solidity例子,智能合约,区块链,去中心化,solidity

solidity案例详解(六)服务评价合约,solidity例子,智能合约,区块链,去中心化,solidity

solidity案例详解(六)服务评价合约,solidity例子,智能合约,区块链,去中心化,solidity
4.getProviderScore: 提供对服务提供商总评分的查询功能。

solidity案例详解(六)服务评价合约,solidity例子,智能合约,区块链,去中心化,solidity
5.getNumEvaluations: 提供对服务提供商收到的评价次数的查询功能。

solidity案例详解(六)服务评价合约,solidity例子,智能合约,区块链,去中心化,solidity
6.isTrustedProvider: 提供对服务提供商是否被认为可信的查询功能。

solidity案例详解(六)服务评价合约,solidity例子,智能合约,区块链,去中心化,solidity
7.setTrustedProvider: 允许服务提供商(只有服务提供商本人)修改自身的可信状态。

solidity案例详解(六)服务评价合约,solidity例子,智能合约,区块链,去中心化,solidity

solidity案例详解(六)服务评价合约,solidity例子,智能合约,区块链,去中心化,solidity
8.sendTransactionWithEvaluation: 允许服务提供商以交易的方式,将目前所有用户评价信息写入区块链。

solidity案例详解(六)服务评价合约,solidity例子,智能合约,区块链,去中心化,solidity

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

solidity案例详解(六)服务评价合约,solidity例子,智能合约,区块链,去中心化,solidity

solidity案例详解(六)服务评价合约,solidity例子,智能合约,区块链,去中心化,solidity

solidity案例详解(六)服务评价合约,solidity例子,智能合约,区块链,去中心化,solidity
10.getEvaluationsByServiceProvider: 提供对服务提供商收到的所有用户评价信息的查询功能。

solidity案例详解(六)服务评价合约,solidity例子,智能合约,区块链,去中心化,solidity

需要源码,定制合约及技术服务都可以私信我
 文章来源地址https://www.toymoban.com/news/detail-774274.html

到了这里,关于solidity案例详解(六)服务评价合约的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Solidity】智能合约案例——③版权保护合约

    目录 一、合约源码分析: 二、合约整体流程:         1.部署合约:         2.添加实体:          3.查询实体         4.审核版权:         5.版权转让         Copyright.sol:主合约,定义了版权局的实体,功能为:审核版权         Opus.sol:定义两个实体:作者和作

    2024年02月04日
    浏览(34)
  • 【Solidity】智能合约案例——②供应链金融合约

    目录 一、合约源码分析: 二、合约整体流程:         1.部署合约:         2.添加实体         3.发送交易存证            ①.银行向公司交易(公司向银行提供交易存证)            ②.公司向银行交易(银行向公司提供交易存证)            ③.公司向公司交易

    2024年02月06日
    浏览(29)
  • 【区块链实战】Solidity 智能合约如何给账户充值

    目录 一、实战场景 二、知识点 智能合约 智能合约函数 智能合约充值 payable 智能合约部署地址 智能合约的运行 合约 this 对象 三、菜鸟实战 四、运行结果 Solidity 智能合约如何给账户充值 1、充值金额 2、充值并查看结果

    2024年02月09日
    浏览(39)
  • 【区块链-智能合约工程师】第二篇:Solidity入门

    参考文章:一文速览2022十大智能合约开发工具 资料地址:WTF学院 HelloWorld remix:在线智能合约开发IDE(Integrated Development Environment,集成开发环境),可以在浏览器中快速部署测试智能合约。 合约HelloWorld: 事项 说明 代码所用的软件许可(license) 不写许可的话编译时会警告

    2024年02月09日
    浏览(43)
  • 区块链智能合约solidity的中的一些关键字

    目  录 pragma mapping msg对象 block对象 contract constructor struct 数据地址 地址类型 address payable revert 以下场景使用 revert() : require 以下场景使用 require() : assert 以下场景使用 assert(): 访问权限 internal public private external function returns return view pure constant event emit modifier pragma   

    2024年01月16日
    浏览(65)
  • 【区块链-智能合约工程师】第三篇:Solidity进阶(一)

    学习资料地址:WTF学院 库合约一般都是一些好用的函数合集(库函数),为了提升solidity代码的复用性和减少gas而存在。他和普通合约主要有以下几点不同: 不能存在状态变量 不能够继承或被继承 不能接收以太币 不可以被销毁 String库 String库合约是将uint256(大正整数)类型

    2024年02月06日
    浏览(43)
  • 区块链web3智能合约Solidity学习资源整理

    Solidity 是一门面向合约的、为实现智能合约而创建的高级编程语言。这门语言受到了 C++,Python 和 Javascript 语言的影响,设计的目的是能在以太坊虚拟机(EVM)上运行。 Solidity中文官方文档: https://solidity-cn.readthedocs.io/zh/develop/ https://learnblockchain.cn/docs/solidity/index.html 在线rem

    2024年03月19日
    浏览(54)
  • solidity案例详解(七)复杂众筹合约

    自己原创智能合约,有作业需求可加下面的图片中的裙 1、在 Remix 中,以 Account1 完成“众筹项目”合约的编译和部署。(显示合约、函数、状态变量、结构体、事件的命名) 2、在 Remix 中,以 Account2 完成“参与众筹”合约的编译和部署。 3、显示合约中的众筹项目数量。 4、

    2024年02月04日
    浏览(31)
  • 《NFT区块链进阶指南二》Etherscan验证Solidity智能合约(Remix插件验证)

    前置参考文档:https://blog.csdn.net/sinat_34104446/article/details/130557703 合约验证是上传合约源代码到etherscan过程,在智能合约项目中,通常都是提供源码验证,增加项目信任度 验证合约后可以直接在etherscan上执行获取和设置方法,方便日常的管理员维护 以下使用remix进行验证并使用

    2024年02月05日
    浏览(60)
  • 智能合约学习笔记一 、——{Solidity语言详解——(1—2)小练习}

    1.根据提示,在指定位置写出编译版本,要求使用^符号,版本要求在0.6.0及以上。 2.根据提示,在指定位置写出所定义的合约名称。 3.为了查看程序的效果,我们使用在线 Solidity 开发工具 Remix IDE 编译和运行 Solidity 程序。中文在线版:在浏览器打开下方链接: Remix - 中文版

    2024年02月02日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包