Directly issuing certificates

There might be cases when the issuer should be able to issue certificates without a request being made. Examples could be the direct import of certificates from other registry systems or the need for corrections in the unlikely event of a mistake made by the user or issuer. The issuer can directly issue certificates using the createCertificate() function. It issues a certificate and generates a specific certificate ID.

Directly issuing public certificates

By default the public issuer module is called to mint public certificates on-chain.

Who: The issuer

What: Directly issues public certificates

Inputs:

  • to: The address where the certificates are issued to [EWC address]

  • value: The energy volume for which certificates are issued, number of fungible tokens [int]

  • fromTime: The starting time of the time frame for which the user requests certificates [unix-time]

  • toTime: The end time of the time frame for which the user requests certificates [unix-time]

  • deviceId: Origin internal ID of the generation device for which the user requests certificates [int]

  • configuration: Data structure of the on- and off-chain data including caller address and private key that should be safely injected through e.g. MetaMask or Hardware-Wallet

Directly issuing private certificates

To set the issuance mode to private, an additional input has to be passed into the createCertificate() function.

Who: The issuer

What: Issue private certificates

Inputs:

  • to: The address where the certificates are issued to [EWC address]

  • value: The energy volume for which certificates are issued, number of fungible tokens [int]

  • fromTime: The starting time of the time frame for which the user requests certificates [unix-time]

  • toTime: The end time of the time frame for which the user requests certificates [unix-time]

  • deviceId: Origin internal ID of the generation device for which the user requests certificates [int]

  • configuration: Data structure of the on- and off-chain data including caller address and private key that should be safely injected through e.g. MetaMask or Hardware-Wallet

  • isVolumePrivate: Tells the function to use the private issuer module and issue a private certificate that does not disclose energy volume information [boolean]