generateKeypair.ts 621 B
Newer Older
Amaury Martiny's avatar
Amaury Martiny committed
import { Keyring } from '@polkadot/keyring';
import { KeyringPair as KeyringPairBase } from '@polkadot/keyring/types';
Amaury Martiny's avatar
Amaury Martiny committed
import { mnemonicGenerate } from '@polkadot/util-crypto';

Amaury Martiny's avatar
Amaury Martiny committed
import { KUSAMA_SS58_FORMAT } from './util/constants';

/**
 * A keyring pair
 */
export interface KeyringPair extends KeyringPairBase {} // eslint-disable-line @typescript-eslint/no-empty-interface

Amaury Martiny's avatar
Amaury Martiny committed
/**
 * Generate a valid public/private keypair offline
 */
export function generateKeypair(): KeyringPair {
  const keyring = new Keyring();
Amaury Martiny's avatar
Amaury Martiny committed
  keyring.setSS58Format(KUSAMA_SS58_FORMAT);
Amaury Martiny's avatar
Amaury Martiny committed

  return keyring.addFromMnemonic(mnemonicGenerate());
}