Initial commit

This commit is contained in:
2024-08-21 17:11:06 +03:00
commit 852a79220d
10 changed files with 1624 additions and 0 deletions

27
key-derivation.service.js Normal file
View File

@@ -0,0 +1,27 @@
import {
generateMnemonic as generateMnemonic_bip39,
mnemonicToSeed,
} from "web-bip39";
import wordlist from "web-bip39/wordlists/english";
import elliptic from "elliptic";
const MNEMONIC_STRENGTH = 192;
const CURVE = "curve25519"
export async function generateKeyPair(mnemonic) {
const seed = (await mnemonicToSeed(mnemonic)).toString("hex");
const ec = new elliptic.ec(CURVE);
const keyPair = ec.genKeyPair({
entropy: seed.slice(0, 32),
});
return {
publicKey: keyPair.getPublic("hex"),
privateKey: keyPair.getPrivate("hex"),
}
}
export function generateMnemonic() {
return generateMnemonic_bip39(wordlist, MNEMONIC_STRENGTH);
}