All Projects β†’ bitcoinjs β†’ Bip32 Utils

bitcoinjs / Bip32 Utils

Licence: mit
A small set of utilities for use with BIP32 HD key nodes

Programming Languages

javascript
184084 projects - #8 most used programming language

Labels

Projects that are alternatives of or similar to Bip32 Utils

Trading Vue Js
πŸ’Ή Hackable charting lib for traders. You can draw literally ANYTHING on top of candlestick charts.
Stars: ✭ 1,021 (+1863.46%)
Mutual labels:  bitcoin
Bitcoin Wordpress Plugin
GoUrl Official Bitcoin Payment Gateway for Wordpress 3.5+ (or higher). Sell Products, Files, Digital Downloads, Membership on your website. Accept Bitcoin, Litecoin, Dogecoin, Darkcoin, Reddcoin, etc Payments Online. Use Pay-Per-Download, Pay-Per-Product, Pay-Per-Membership, Pay-Per-Page/Video-Access on your website. It is Easy!
Stars: ✭ 49 (-5.77%)
Mutual labels:  bitcoin
Jesse
An advanced crypto trading bot written in Python
Stars: ✭ 1,038 (+1896.15%)
Mutual labels:  bitcoin
Bitcoin Info Action
App for the google assistant that give you information on bitcoin (e.g. price, market cap etc')
Stars: ✭ 45 (-13.46%)
Mutual labels:  bitcoin
Paymint
The Paymint Wallet is a secure and user friendly Bitcoin wallet
Stars: ✭ 48 (-7.69%)
Mutual labels:  bitcoin
01cnode
tool to monitor full bitcoin node bitcoind-web
Stars: ✭ 50 (-3.85%)
Mutual labels:  bitcoin
Bitcoin Node Manager
πŸ“Š Lightweight dashboard and control system for bitcoin nodes
Stars: ✭ 43 (-17.31%)
Mutual labels:  bitcoin
Nowallet
This project is a secure Bitcoin brainwallet app written in Python.
Stars: ✭ 52 (+0%)
Mutual labels:  bitcoin
Mydicebot.github.io
β˜…MyDiceBotβ˜… - Ultimate Bitcoin Dice Bot. Bet More, Earn More!
Stars: ✭ 48 (-7.69%)
Mutual labels:  bitcoin
Wif
Bitcoin Wallet Import Format JS encoding/decoding module
Stars: ✭ 51 (-1.92%)
Mutual labels:  bitcoin
Bds
Blockchain data parsing and persisting results
Stars: ✭ 1,032 (+1884.62%)
Mutual labels:  bitcoin
Bip44 Constants
This package provides BIP44 coin constants as found here: https://github.com/satoshilabs/slips/blob/master/slip-0044.md
Stars: ✭ 47 (-9.62%)
Mutual labels:  bitcoin
Cryptex
Gemini, GDAX, Bitfinex, Poloniex, Binance, Kraken, Cryptopia, Koinex, BitGrail and CoinMarketCap cryptocurrency exchange API clients in Swift / iOS SDK. Check prices and account balances using Sample iOS app.
Stars: ✭ 51 (-1.92%)
Mutual labels:  bitcoin
Siis
Trading bot including terminal, for crypto and traditionals markets. Assisted or fully automated strategy.
Stars: ✭ 45 (-13.46%)
Mutual labels:  bitcoin
Bitcoinaddress
Bitcoin Wallet Address Generator
Stars: ✭ 52 (+0%)
Mutual labels:  bitcoin
Xplain
🌎 Complex Topics Explained For Your Level And Background. ✏️
Stars: ✭ 44 (-15.38%)
Mutual labels:  bitcoin
Wordpress Lightning Publisher
⚑️ Lightning Publisher for WordPress
Stars: ✭ 50 (-3.85%)
Mutual labels:  bitcoin
Gdax Python Api
GDAX API written in Python3 using async/await
Stars: ✭ 52 (+0%)
Mutual labels:  bitcoin
Blkchain
Fast import of the blockchain into PostgreSQL.
Stars: ✭ 52 (+0%)
Mutual labels:  bitcoin
Blockchainage
γ€ŒεŒΊε—ι“ΎζŠ€ζœ―ζŒ‡εŒ—γ€η›Έε…³θ΅„ζ–™γ€‚
Stars: ✭ 51 (-1.92%)
Mutual labels:  bitcoin

bip32-utils

TRAVIS NPM

js-standard-style

A set of utilities for working with BIP32. Compatible with bitcoinjs-lib ^2.0.0 and ^3.0.0.

Example

BIP32 Account

let bitcoin = require('bitcoinjs-lib')
let bip32utils = require('bip32-utils')

// ...

let m = bitcoin.HDNode.fromSeedHex(seedHex)
let i = m.deriveHardened(0)
let external = i.derive(0)
let internal = i.derive(1)
let account = new bip32utils.Account([
  new bip32utils.Chain(external.neutered()),
  new bip32utils.Chain(internal.neutered())
])

console.log(account.getChainAddress(0))
// => 1QEj2WQD9vxTzsGEvnmLpvzeLVrpzyKkGt

account.nextChainAddress(0)

console.log(account.getChainAddress(1))
// => 1DAi282VN7Ack9o5BqWYkiEsS8Vgx1rLn

console.log(account.nextChainAddress(1))
// => 1CXKM323V3kkrHmZQYPUTftGh9VrAWuAYX

console.log(account.derive('1QEj2WQD9vxTzsGEvnmLpvzeLVrpzyKkGt'))
// => xpub6A5Fz4JZg4kd8pLTTaMBKsvVgzRBrvai6ChoxWNTtYQ3UDVG1VyAWQqi6SNqkpsfsx9F8pRqwtKUbU4j4gqpuN2gpgQs4DiJxsJQvTjdzfA

// NOTE: passing in the parent nodes allows for private key escalation (see xprv vs xpub)

console.log(account.derive('1QEj2WQD9vxTzsGEvnmLpvzeLVrpzyKkGt', [external, internal]))
// => xprv9vodQPEygdPGUWeKUVNd6M2N533PvEYP21tYxznauyhrYBBCmdKxRJzmnsTsSNqfTJPrDF98GbLCm6xRnjceZ238Qkf5GQGHk79CrFqtG4d

BIP32 Chains

let bitcoin = require('bitcoinjs-lib')
let bip32utils = require('bip32-utils')

// ...

let hdNode = bitcoin.HDNode.fromSeedHex(seedHex)
let chain = new bip32utils.Chain(hdNode)

for (let k = 0; k < 10; ++k) chain.next()

let address = chain.get()

console.log(chain.find(address))
// => 9

console.log(chain.pop())
// => address

BIP32 Discovery (manual)

let bip32utils = require('bip32-utils')
let bitcoin = require('bitcoinjs-lib')
let Blockchain = require('cb-blockr')

// ...

let blockchain = new Blockchain('testnet')
let hdNode = bitcoin.HDNode.fromSeedHex(seedHex)
let chain = bip32utils.Chain(hdNode)
let GAP_LIMIT = 20

bip32utils.discovery(chain, GAP_LIMIT, function(addresses, callback) {
  blockchain.addresses.summary(addresses, function(err, results) {
    if (err) return callback(err)

    let areUsed = results.map(function(result) {
      return result.totalReceived > 0
    })

    callback(undefined, areUsed)
  })
}, function(err, used, checked) {
  if (err) throw err

  console.log('Discovered at most ' + used + ' used addresses')
  console.log('Checked ' + checked + ' addresses')
  console.log('With at least ' + (checked - used) + ' unused addresses')

  // throw away ALL unused addresses AFTER the last unused address
  let unused = checked - used
  for (let i = 1; i < unused; ++i) chain.pop()

  // remember used !== total, chain may have started at a k-index > 0
  console.log('Total number of addresses (after prune): ', chain.addresses.length)
})

LICENSE MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].