Credential Issuer Rating

After a user has obtained a credential, they can anonymously rate the credential issuer via a Semaphore proof. This can be done by calling the generateRateCredentialIssuerProof function inside the @bq-core/lib library with the following parameters:

  • identity: the Semaphore identity of the user broadcasting the signal and generating the proof.

  • groupOrMerkleProof: the group to which the user belongs, which must be the credentials group in order to rate the credential issuer.

  • rate: from 0 to 100, the rating the user gives to the credential issuer.

  • snarkArtifacts: the zkey and wasm trusted setup files, taken from PSE SNARK artifacts.

The external nullifier being used to prevent double-signaling is the string bq-rate.

Users can then send these proofs to the Credentials.sol contract by calling the rateIssuer function, which verifies them and aggregates the ratings given for the credential.

Last updated