Session messenger & Session.js keypairs utilities. https://www.npmjs.com/package/@session.js/keypair
Find a file
2026-01-28 14:58:33 +01:00
.vscode Add prettier and formatter, make code style consistent, sort package.json 2026-01-28 14:58:33 +01:00
src Add prettier and formatter, make code style consistent, sort package.json 2026-01-28 14:58:33 +01:00
tests Add prettier and formatter, make code style consistent, sort package.json 2026-01-28 14:58:33 +01:00
.gitignore Initial commit 2024-06-20 20:45:14 +04:00
.prettierignore Add prettier and formatter, make code style consistent, sort package.json 2026-01-28 14:58:33 +01:00
.prettierrc Add prettier and formatter, make code style consistent, sort package.json 2026-01-28 14:58:33 +01:00
bun.lock Add prettier and formatter, make code style consistent, sort package.json 2026-01-28 14:58:33 +01:00
eslint.config.js Add prettier and formatter, make code style consistent, sort package.json 2026-01-28 14:58:33 +01:00
LICENSE Add prettier and formatter, make code style consistent, sort package.json 2026-01-28 14:58:33 +01:00
package.json Add prettier and formatter, make code style consistent, sort package.json 2026-01-28 14:58:33 +01:00
README.md Add prettier and formatter, make code style consistent, sort package.json 2026-01-28 14:58:33 +01:00
tsconfig.build.json Add prettier and formatter, make code style consistent, sort package.json 2026-01-28 14:58:33 +01:00
tsconfig.json Add prettier and formatter, make code style consistent, sort package.json 2026-01-28 14:58:33 +01:00

@session.js/keypair

Session messenger & Session.js keypairs utilities.

type SessionKeys

SessionKeys is two KeyPairs: x25519 (curve25519) and ed25519

type SessionKeys = {
  x25519: KeyPair
  ed25519: KeyPair
}

Session ID consists of x25519's public key prepended with 05.

Ed25519 keypairs are used mainly for messages encryption.

getKeysFromSeed

Converts seed hex to Session keys (x25519 & ed25519 keypairs):

import { getKeysFromSeed } from '@session.js/keypair'

const keys = getKeysFromSeed('39038c8988db02c1af44e8c847bd9713')
console.log(keys.x25519.publicKey) // => 0548054830367d369d94605247999a375dbd0a0f65fdec5de1535612bcb6d4de452c69

generateSeedHex

Generates random seed and converts it to hex. Under the hood it uses CSPRNG from @noble/curves.

import { generateSeedHex } from '@session.js/keypair'

const seed = await generateSeedHex()
console.log(seed) // => 39038c8988db02c1af44e8c847bd9713

Made for Session.js

Use Session messenger programmatically with Session.js: Session bots, custom Session clients, and more.

Donate

hloth.dev/donate · Tor: hlothdevzkti6suoksy7lcy7hmpxnr3msu5waokzaslsi2mnx5ouu4qd.onion/donate

License

MIT