Our System offers two types of Key Hosting. It is possible to host the key on the client side (encrypted in the secure storage of your browser) or it can be hosted on the server itself.
Server based Key Hosting
If you are planning to use our Web Service APIs it is required to host the private keys on the server.
For security reasons it is suggested to use a special hardened server which does NOT open any TCP/IP Ports to the public internet except the encrypted web port 443.
It is also NOT suggested to host any other keys than your own keys on server. That means also that if you are planning to use server side key hosting you need to run your own node.
Key management functions are defined in the Identity Namespace. The Service description is available at: https://coin.codeb.io/identity.asmx
To import and store you encrypted private key on the server you can use either the normal GETH commandline or use the Web Service StoreKeyOnServer.
StoreKeyOnServer requires three parameter:
MnemonicPhrase: Mnemonic phrase, mnemonic seed, or seed phrase are defined as a secret group of words that represent a private key. It is essential that you keep this key highly confidential. You can create your own unique phrase on: https://coin.codeb.io/qrgen.aspx
Password: The password is used to encrypt your private key on the server.
ChainAddress: You need to specify also the address of your private key. That is the hash of the public key of the private key derived from your Mnemonic Phrase.
If you do not have yet a Mnemonic Phrase / Private Key the function CreateKeyOnServer will create the key for and store it password protected on the server. All you need to do is to define a strong password. Also make sure to write down the Mnemonic Phrase the function returns and keep it secret.
To be able to use key operations you need to first unlock the private key on the server.
UnLockAccount requires three parameter:
ChainAddress: The address to be unlocked for usage.
Password: The password used to encrypt the private key on the server.
OpenTimeInSec: The time how long the key should remain unlocked. Once the time lapses the key will be locked again.
Note: You can also lock the key manually with the command LockAccount.