@synonymdev/slashtags-keychain
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

slashtags-keychain

A utility module for generating keyPairs for Slashtags

Installation

npm install @synonymdev/slashtags-keychain

Usage

const KeyChain = require('@synonymdev/slashtags-keychain')

// Create a default keyPair from a `primaryKey`
const defaultKeyPair = KeyChain.createKeyPair(primaryKey)

// Create a default keyPair from a `primaryKey` and a `name`
const namedKeyPair = KeyChain.createKeyPair(primaryKey, name)

PrimaryKey

The primaryKey is a seed used to generate multiple Slashtags KeyPairs.

In practice a Bitcoin wallet should generate the primaryKey from Bitcoin seed or a mnemonic phrase as fololws:

import bip39 from 'bip39'
import { BIP32Factory as bip32 } from 'bip32'
import * as ecc from 'tiny-secp256k1'
import SDK, { constants } from '@synonymdev/slashtags-sdk'

const mnemonic = constants.MNEMONIC_TO_PRIMARY_KEY_TEST_VECTORS[0].mnemonic
console.log('Mnemonic:', mnemonic)

const seed = await bip39.mnemonicToSeed(mnemonic)
console.log('\nSeed:', seed.toString('hex'))

const root = bip32(ecc).fromSeed(seed) // Network: bitcoin mainnet

const primaryKey = root.derivePath(constants.PRIMARY_KEY_DERIVATION_PATH).privateKey

/@synonymdev/slashtags-keychain/

    Package Sidebar

    Install

    npm i @synonymdev/slashtags-keychain

    Weekly Downloads

    55

    Version

    1.0.0

    License

    MIT

    Unpacked Size

    6.91 kB

    Total Files

    13

    Last publish

    Collaborators

    • dzdidi_restored
    • pwltr
    • miguelmedeirosweb
    • rbndg
    • bitcoinerrorlog
    • jayvdb
    • coreyphillips
    • nzh