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

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

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

 各合约功能:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/0db4081284.html