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: 提供对服务提供商收到的所有用户评价信息的查询功能。
需要源码,定制合约及技术服务都可以私信我