Requesting certificates

Users can request the issuance of certificates for a specific generation device and a specific time frame. They have to provide the issuer with generation evidence from the device at the defined time. Based on this evidence, the energy volume can be determined and thereby the number of certificates (e.g. each 1 MWh) that is requested. A specific address can be defined to issue the certificates to. The default is the address that called the function. Users can request public and private certificates.

Requesting public certificates

To request a certificate, users have to call the createRequestIssue() function. The function communicates with the public issuer smart contract on the Energy Web Chain and creates an issue request. The inputs are encoded and the issuance request is saved on-chain without disclosing any sensitive information.

Who: The device owner

What: Requests the issuance of public certificates

Inputs:

  • 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

  • forAddress: (optional): The address to which the certificate should be issued if not to the requesting user’s address [EWC address]

Requesting private certificates

Private certificates are requested the same way as public certificates. Users request certificates for a specific generation device and a specific time frame. The only difference is, that there is one additional input for the createRequestIssue() function that specifies that the certificate should be issued in a private way.

Who: The device owner

What: Requests the issuance of private certificates

Inputs:

  • 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: Defines if the certificate should be issued in a private way (true if private)

  • forAddress: (optional): The address to which the certificate should be issued if not to the requesting user’s address [EWC address]