Guides
Dash CoreDash PlatformDash.orgDash User DocsLog In
These docs are for v0.17.0. Click to read the latest docs for v0.25-redirect.

Register an Identity

Establish an Identity on Dash Platform

The purpose of this tutorial is to walk through the steps necessary to register an identity.

Overview

Identities serve as the basis for interactions with Dash Platform. They consist primarily of a public key used to register a unique entity on the network. Additional details regarding identities can be found in the Identity description.

Prerequisites

Code

🚧

Identity public key reuse

Since Dash Platform Protocol v0.13, a public key can only be associated with a single identity.

🚧

Wallet Operations

Currently, the JavaScript SDK does not cache wallet information, and therefore, it re-syncs the entire Core chain for some wallet operations (e.g. client.getWalletAccount()). This can result in wait times of 5+ minutes. An upcoming release will add a persistence feature to cache wallet information during initial sync so that subsequent access is much faster.

const Dash = require('dash');

const clientOpts = {
  network: 'testnet',
  wallet: {
  	mnemonic: 'a Dash wallet mnemonic with testnet funds goes here',
  },
};
const client = new Dash.Client(clientOpts);

const createIdentity = async () => {
  return client.platform.identities.register();
};

createIdentity()
  .then((d) => console.log('Identity:\n', d.toJSON()))
  .catch((e) => console.error('Something went wrong:\n', e))
  .finally(() => client.disconnect());

The Identity will be output to the console. The Identity will need to have one confirmation before it is accessible via client.platform.identity.get.

👍

Make a note of the returned identity id as it will be used used in subsequent tutorials throughout the documentation.

What's Happening

After connecting to the Client, we call platform.identities.register. This will generate a keypair and submit an Identity Create State Transaction. After the Identity is registered, we output it to the console.