Skip to content

KeysManager

Source

secp256k1 key generation and management utilities.

Interface KeyPair:

FieldTypeDescription
privateKeyUint8ArrayPrivate key (32 bytes).
publicKeyUint8ArrayDerived public key.

generateRandomKey

ts
generateRandomKey(length?: number): Uint8Array

Generates cryptographically secure random bytes.

Parameters:

NameTypeRequiredDescription
lengthnumberNoNumber of bytes. Defaults to 32. Must be a positive integer.

Returns: Uint8Array — random bytes.

Throws: Error("PrivateKeyLength must be a positive integer") — if length is not a positive integer.

generateKeyPair

ts
generateKeyPair(keyLength?: number): KeyPair

Generates a random secp256k1 key pair.

Parameters:

NameTypeRequiredDescription
keyLengthnumberNoPrivate key length in bytes. Defaults to 32.

Returns: KeyPair{ privateKey, publicKey }.

Throws: Error("PrivateKeyLength must be a positive integer") — if keyLength is invalid.

getKeyPairFromPrivateKey

ts
getKeyPairFromPrivateKey(privateKey: Uint8Array): KeyPair

Derives a KeyPair from an existing private key.

Parameters:

NameTypeRequiredDescription
privateKeyUint8ArrayYessecp256k1 private key (32 bytes).

Returns: KeyPair{ privateKey, publicKey }.

getPublicKeyFromPrivateKey

ts
getPublicKeyFromPrivateKey(privateKey: Uint8Array): Uint8Array

Derives the public key from a private key.

Parameters:

NameTypeRequiredDescription
privateKeyUint8ArrayYessecp256k1 private key (32 bytes).

Returns: Uint8Array — compressed public key.

convertKeyToHex

ts
convertKeyToHex(key: Uint8Array): string

Converts a binary key to a lowercase hex string.

Parameters:

NameTypeRequiredDescription
keyUint8ArrayYesKey bytes to encode.

Returns: string — hex-encoded key.

deriveKeyFromMnemonic

ts
deriveKeyFromMnemonic(mnemonicWords: string[], options?: Bip44PathOptions): Promise<Uint8Array>

Convenience wrapper over KeyDerivationService.deriveKeyFromMnemonic.

Parameters:

NameTypeRequiredDescription
mnemonicWordsstring[]YesMnemonic word array.
optionsBip44PathOptionsNoBIP-44 path options.

Returns: Promise<Uint8Array> — derived private key (32 bytes).

ASI:Chain DevNet - Development Network