-
Notifications
You must be signed in to change notification settings - Fork 57
User Roles
Users can have different roles in the origin system. One user can have multiple roles at the same time but generally the roles reflect the different stakeholders of origin. A role authorizes the user to perform certain actions within the application.
Here an overview of the existing user roles:
This role authorizes a user to create a new user, to set and change roles for users and deactivate active users.
Find an example of how to create an account here: https://github.com/energywebfoundation/origin/tree/master/packages/utils-demo#create_account
Asset Manager/Asset Admin: A user has to have both the roles of asset manager and asset admin to create a new asset. Assets are devices that either generate or consume energy. A new asset can therefore be a generator or a load. This user can set the smart meter oracle address for the managed asset. Only the asset admin has the power to activate or deactivate an asset. Regularly both roles are combined in one user but there might be instances where they need to be kept seperate.
Example of creating a producing asset: https://github.com/energywebfoundation/origin/tree/master/packages/utils-demo#create_producing_asset
Example of creating a consuming asset: https://github.com/energywebfoundation/origin/tree/master/packages/utils-demo#create_consuming_asset
Being an asset owner is often combined with the role of asset manager/asset admin. It is not a set role. Being the owner of a specific asset authorizes asset owners to perform certain actions in the origin system. But the asset owner does not necessarily have to be the same user who manages the asset. Only the asset owner of a generation device can submit a certification request to the issuer for an owned asset. This means that the asset owner requests certificates based given the evidence of production like smart meter reads. The asset owner can also approve long term periodic buying agreements for their issued certificates that are proposed by buyers.
The asset owner can request certificates and approve agreements using the UI.
For more information: https://github.com/energywebfoundation/origin/tree/master/packages/utils-demo#request_certificates
The issuer reviews the certificate request, evaluates the evidence and makes the decision to approve or disapprove the request. If the issuer approves the request, the certificate is issued to the asset owner. It should be mentioned that the issuer is mostly a local regulatory body.
The issuer can approve the certificate using the UI.
More information: https://github.com/energywebfoundation/origin/tree/master/packages/utils-demo#approve_certification_request
The certificate owner is not a set role but is defined by being the owner of a specific certificates, which gives can decide to publish the certificate for sale and set the price. He/she can also choose to unpublish the certificate. Because the asset owner is the one submitting the certification request and receiving the issued certificate, the asset owner is the certificate owner if the certificate has not been traded yet. The certificate owner can also approve long term periodic agreements that are proposed by buyers.
The certificate owner can publish a certificate for sale, set the price and approve agreements in the UI.
More information: https://github.com/energywebfoundation/origin/tree/master/packages/utils-demo#publish_certificate_for_sale_offchain
The role of the trader authorizes users to perform actions that are necessary for trading certificates. A trader can create, update and delete demands. These demands can be matched with certificates for sale or used to create long term periodic agreements with sellers. Traders can also buy certificates they directly choose from the list of published certificates for sale.
Traders can create and manage demands, make agreements and buy certificates in the UI.
More information: https://github.com/energywebfoundation/origin/tree/master/packages/utils-demo#create_demand