@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

Readme

Keywords

none

Package Sidebar

Install

npm i @synonymdev/slashtags-keychain

Weekly Downloads

67

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