Skip to content

BIP38 is a standard process to encrypt Bitcoin and crypto currency private keys that is less susceptible to brute force attacks thus protecting the user.

License

Notifications You must be signed in to change notification settings

CityChainFoundation/city-bip38

 
 

Repository files navigation

city-bip38

build status Coverage Status Version

js-standard-style

A JavaScript component that adheres to the BIP38 standard to secure your crypto currency private keys. Fully compliant with Node.js and the browser (via Browserify).

city-bip38 is a fork of the original bip38, with added support for alternative networks (bip38 only supports bitcoin main network) and relies on an async library for scrypt, making it more performant.

Performance:

Intel Core i7-8700K

  • bip38: ~8700ms
  • bip38-network: ~430ms

Why?

BIP38 is a standard process to encrypt Bitcoin and crypto currency private keys that is imprevious to brute force attacks thus protecting the user.

Package Info

Usage

Installation

npm install city-bip38

API

encrypt(buffer, compressed, passphrase[, progressCallback, scryptParams])

var bip38 = require('city-bip38')
var wif = require('wif')

var myWifString = '5KN7MzqK5wt2TP1fQCYyHBtDrXdJuXbUzm4A9rKAteGu3Qi5CVR'
var decoded = wif.decode(myWifString)

bip38.encryptAsync(decoded.privateKey, decoded.compressed, 'TestingOneTwoThree', (encryptedKey) => {
console.log(encryptedKey)
})

// => '6PRVWUbkzzsbcVac2qwfssoUJAN1Xhrg6bNk8J7Nzm5H7kxEbn2Nh2ZoGg'

decrypt(encryptedKey, passphrase[, progressCallback, scryptParams])

var bip38 = require('city-bip38')
var wif = require('wif')

var encryptedKey = '6PRVWUbkzzsbcVac2qwfssoUJAN1Xhrg6bNk8J7Nzm5H7kxEbn2Nh2ZoGg'
bip38.decryptAsync(encryptedKey, 'TestingOneTwoThree', function (decryptedKey) {
  console.log(decryptedKey)
})

console.log(wif.encode(0x80, decryptedKey.privateKey, decryptedKey.compressed))
// => '5KN7MzqK5wt2TP1fQCYyHBtDrXdJuXbUzm4A9rKAteGu3Qi5CVR'

References

About

BIP38 is a standard process to encrypt Bitcoin and crypto currency private keys that is less susceptible to brute force attacks thus protecting the user.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%