Tutorial

First Dev Keystores

During the first-dev release, you will require two types of keystores in order to deploy your work to the network;

  • Identity Keystore: This keystore acts as your credentials for using DCP. You can think of it as an API key.
  • Bank Keystore: This keystore is used to access DCC that is stored in the DCP Bank.

Downloading Keystores

Both keystores can be downloaded from the Portal.

Identity Keystore

Identity keystores can be provisioned, downloaded, and revoked all from the Profile page on the Portal.

Identity Keys UI

Provisioning

New Identity Keys can be provisioned by clicking the green "+" in the top-right of the table. This will prompt you to enter a label and then the generated key will appear in the table.

Downloading

Identity Keys can be downloaded by clicking on the blue download button. This will prompt you to enter an optional passphrase to encrypt the keystore with, and will then prompt you to save the keystore file with the default name id.keystore.

We recommend saving your id.keystore file in your home directory at ~/.dcp/id.keystore. This is the default location where our APIs will look to find your identity.

Revoking

Identity Keystores can be revoked by clicking the red "-" to the right of the download button. This will immediately revoke the key's association to your account, so any keystore files that you have downloaded will stop working.

Bank Keystore

Your Bank Keystores are listed in the Accounts page on the portal. Your portal account will come with a default keystore, which you can use to earn DCC using the Portal's Worker.

First-Dev Bootstrap Keystore

To get first devs started, we will be providing you with a "First-Dev Bootstrap" keystore that comes pre-filled with funds. If you do not see this keystore in your Accounts page, please sign up for the DCP First Devs Program. We will review your application and admit participants in a multi-stage preview roll out.

Downloading

Your Bank Keystores can be downloaded from the Accounts page by clicking the arrow at the bottom of the keystore card, and then clicking "Download". We recommend saving this keystore file in your home directory at ~/.dcp/default.keystore. This is the default location where our APIs will look to find your bank keystore.

Using Keystores From Web DCP Apps

Providing the bank keystore for deploying jobs from your browser is easy - the dcp-client APIs will automatically prompt you with a modal to upload your bank keystore when you start deploying the job.

⚠️WARNING THE FOLLOWING IS A TEMPORARY SOLUTION. IT EXPOSES YOUR (REVOCABLE) IDENTITY KEYSTORE TO THE PUBLIC. VERY SOON IT WILL BE REPLACED WITH THE LONG-TERM SOLUTION AND ALL FIRST DEV IDENTITIES WILL BE REVOKED.⚠️

To provide your identity keystore, which is required to access the scheduler, you must include your identity keystore in the web directory where your HTML is located. The dcp-client APIs will look for it when deploying your job, and warn you in the console if it could not be located.

Here is an example directory structure for how your app might be set up:

www/
  index.html
  id.keystore

Using Keystores from NodeJS DCP Apps

Using dcp-client APIs to build NodeJS apps is even easier - the APIs will look for your keystores in the default location: ~/.dcp. This is what your .dcp folder should look like:

.dcp/
  id.keystore
  default.keystore

If the keystores could not be found, the APIs will throw an error containing info about where they were searching for the files.

Get Started

You are now ready to start deploying jobs to DCP! Follow or continue through our getting started guide

FAQ

When Deploying A Job, The Error Says "Role DEPLOY is required"

This error most likely means your account has not been approved for the "First Devs Program". If you haven't yet, please sign up. If you have, please be patient, we will contact you once your account has been activated.

If your account has been approved, then this error could indicate that the identity key you are using is not associated with your portal account. Check the Identity Keys section of the Profile page in the portal to confirm that the identity keystore you're using is one of the ones listed in the table.