🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bip32-path

Bitcoin BIP32 ('HD Wallet') path helpers.

0.4.2
latest
Version published
Weekly downloads
48K
4.76%
Maintainers
1
Weekly downloads
 
Created

BIP32 Path

Bitcoin BIP32 ("HD Wallet") path helpers.

There are multiple path representations being used by different implementations. These includes:

  • m/44'/0'/0'/0/0 where the apostrophe means hardened key
  • m/44h/0h/0h/0/0 where the letter h means hardened key
  • and a binary representation predominantly used by Trezor & compatible wallets and some software tools, such as bitcoinjs-lib

Some useful links:

API

  • BIPPath.fromString(path, reqRoot) - creates an instance from a path written as text. Set reqRoot to true if the m/ prefix is mandatory.
  • BIPPath.fromPathArray(path) - creates an instance from a binary path array
  • new BIPPath(path) - alias for BIPPath.fromPathArray(path)
  • <bippath>.toString(noRoot, oldStyle) - returns a text encoded path. Set to noRoot to true to omit the m/ prefix. Set oldStyle true to use h instead of ' for marking hardened nodes.
  • <bippath>.toPathArray() - returns a binary path array
  • BIPPath.validateString(path, reqRoot) - returns true if the input is a valid path string
  • BIPPath.validatePathArray(path) - returns true if the input is a valid binary path array

Binary path arrays contain each node as a separate number, where hardened nodes are marked by setting the 32th bit: m/44'/1/1/0 corresponds to [ 0x8000002c, 1, 1, 0 ]

Examples

var bippath = require('bip32-path')

bippath.fromPathArray([0x8000002c, 1, 1, 0]).toString() // m/44'/1/1/0

bippath.fromString("m/44'/0'/0'").toString(false, true) // m/44h/0h/0h

bippath.fromString("m/44h/0h/0'").toString(true) // 44'/0'/0'

bippath.fromString("m/44'/0'/0'").toPathArray() // [ 0x8000002c, 0x80000000, 0x80000000 ]

FAQs

Package last updated on 25 Apr 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts