@kitzen/react-native-bip39
v0.0.8
Published
[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/kitzen-io/bip39-react-native/blob/master/LICENSE) [![npm version](https://img.shields.io/npm/v/@kitzen/react-native-bip39.svg)](https://www.npmjs.com/package/@kitzen
Downloads
3
Readme
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
- 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
- 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
- Open your
yarn.lock
file and make sure that dependencies are resolved according to package.json resolutions section.