0.0.8 • Published 9 months ago

@kitzen/react-native-bip39 v0.0.8

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

GitHub license npm version contributions welcome test

bip39 with android support

Bip39 is a BTC proposal for improval on BTC network that allows to generate a private key using 12-24 mneumonic words.

Why we need this instead of npm's bip39?

Original bip39 js library requires runtime implementation of crypto, e.g. v8 provides globalThis.crypto, but Hermes doesn't. So this library comes with polyfills for

As native implementation for both from Android and IOS. It was forked from react-native-bip39, but original version have issues with

  • Dependencies, which are resolved here. E.g. require changed from original code.
  • Installation tips
  • Typescript support

Installation

  1. Copy paste this block to your package.json:
{  
  "dependencies": {
    "react-native-crypto": "*",
    "react-native-randombytes": "*"
  },
  "resolutions": {
    "@kitzen/react-native-bip39/react-native-crypto/pbkdf2": "3.1.2",
    "@kitzen/react-native-bip39/react-native-crypto/public-encrypt/parse-asn1/pbkdf2": "3.1.2",
    "@kitzen/react-native-bip39/react-native-random-bytes/buffer": "^6.0.3"
  }
}

This is required!

  • Resolutions are not applied from nested modules. So manual setup is required
  • Duplicating dependencies is required so react could pull up list of packages it needs to check as native modules, otherwise you'll get undefined RNRandomBytes.seed
  1. Install the library
yarn add @kitzen/react-native-bip39
yarn add buffer ^6.0.3
# You must run this manually before running MetroJs server
# Otherwise you'll get: "Cannot read properties of undefined (reading 'seed')"
cd ./android
./gradlew build
cd .. && npm start
# metro will not automatically apply native changes. Thus please press 'A' to deploy android
  1. Open your yarn.lock file and make sure that dependencies are resolved according to package.json resolutions section.
0.0.8

9 months ago

0.0.7

9 months ago

0.0.6

9 months ago

0.0.5

9 months ago

0.0.4

9 months ago

0.0.3

9 months ago

0.0.2

9 months ago

0.0.1

9 months ago