Create and Manage an OCN Identity
Being part of the Open Charging Network requires participants to set up and manage a self-sovereign identity (OCN Identity).
A 'self-sovereign identity’ is an identity where an individual maintains control over their own credentials, as opposed to having them stored in a centralized server by a third-party. A user's self-sovereign identity could, for example, be partially derived from their cryptocurrency wallet address, which the user maintains control of at all times.
You can read more about self-sovereign identity in our documentation here.
Secure identities are critical for the automated routing of OCPI-messages, and for being able to use applications on top of the Open Charging Network.
Below are details on how to complete the steps necessary to create your OCN identity:
Select your country_code and party_id* (and register at your country’s national registry**) (not required for node operators)
Access the full OCN technical documentation here.
1. Select and register your country_code and party_id
* This step is NOT required for OCN Node Operators
Your unique identity on the Open Charging Network is based on an eMI3 compliant name constructed from a country_code (e.g. “CH”) and party_id (e.g. “SNC”).
Today, in many countries, national registries exist to ensure uniqueness of IDs. Please refer to the OCPI documentation for further information both on the Provider and Operator abbreviation as well as for a list of existing authorities: OCPI 2.2 Documentation.
Note that currently not all countries have a national registry. To see a list of countries that currently have a national registry, see the OCPI 2.2 documentation, section 2.5. Provider and Operator abbreviation.
2. Create a private/public key pair
The Open Charging Network uses a cryptographic wallet structure to provide security and unique identities. Wallets are used to construct your OCN identity, and to sign (authorize) actions on the OCN, such as sending and receiving messages. Your wallet (or private/public key-pair), along with your country_code and party_id (Step 1) form your identity on the Open Charging Network.
As such, you must have an Ethereum-compatible wallet to create your OCN identity. If you do not already have an Ethereum-compatible cryptocurrency wallet, we recommend using MetaMask.
You can read more about what cryptocurrency wallets are, and how they are used in the context of the Energy Web Chain here.
A public-private key pair is generated programmatically by a wallet through a cryptographic algorithm. The algorithm produces a private key and a corresponding public key. The public key can be exposed and shared with others (it is used to identify participants in the OCN Registry smart contract), but the private key should not be shared with anyone. The algorithm used to generate the key-pair makes it virtually impossible for any outsider to guess your private key.
3. Register and Manage your OCN Identity with the OCN Registry
After completing Step 1 and Step 2, you are now ready to register your OCN Identity with the OCN Registry. This registry serves as the address book for all OCN Identities.
The OCN Registry is implemented as a smart contract deployed on the Energy Web Chain. Anyone is allowed to register with the OCN Registry.
As a neutral platform, the Energy Web Foundation holds the administration key to this smart contract. The initial implementation requires a centralized authority to have administration rights (e.g. for updates). As the governance of the OCN Registry is a crucial piece to ensure openness of the Open Charging Network, Energy Web Foundation will further develop this governance together with the community (e.g. enable decentralized administration).
There are several ways to manage your OCN Registry entry. We recommend using the Command Line Interface, Java or TypeScript library provided in the OCN Registry repository on GitHub.
3.1 Gather Required Information
The required information varies according to your role within the network and whether you are running a node or not.
You will need to determine your party's role. The most common roles are "CPO" (Charge Point Operator) and "MSP" (Mobility Service Provider).
You can see a full list of supported roles within OCPI 2.2 in the documentation at 6.4.2 Role.
3.2 Fund your Ethereum-Compatible Wallet
As a a final preparation step, you need to fund your Ethereum wallet that you created in Step 2. The funds will be used to enter our data into the registry. The transaction cost associated with entering the data into the registry is very low - less than 1 EWT.
Depending on whether you want to connect to the Energy Web Public Test Network (Volta) or the Energy Web Production Network (Energy Web Mainnet) there are two ways of getting funds for your wallet:
3.3 Create, read, update and delete your OCN Identity
After funding your wallet, you are now ready to make OCN Registry entries. Please follow the technical instructions on the OCN Registry repository on GitHub "Listing a Party" for more detailed steps on how to do this using the CLI library, TypeScript library or Java library.
4. Store your private key safely - and don’t lose it
Your OCN Identity is your key to participate in the Open Charging Network. Your private key from your cryptographic wallet (Step 2) is required for managing your OCN Registry entry (your self-sovereign identity). Keep your private key safe! It is advised to follow best-practices for secure storage and usage (similar to API Token Management, management of cryptocurrencies, etc.)
If you have any issues with your OCN Identity, please reach out to us.
Last updated