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: 提供对服务提供商收到的所有用户评价信息的查询功能。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:
https://blog.csdn.net/2302_77339802/article/details/134838876
文章来源:CSDN 博主「发呆...」
文章原标题:《solidity 案例详解(六)服务评价合约》
旨在传播区块链相关技术,如有侵权请与我们联系删除。
评论