ReactNative BitcoinJS (react-native-bitcoinjs-lib)
A javascript Bitcoin library for node.js and browsers.
ReactNative-ready fork of the original bitcoinjs package. Used by over a million wallet users and the backbone for almost all Bitcoin web wallets in production today.
Should I use this in production?
If you are thinking of using the master branch of this library in production, stop. Master is not stable; it is our development branch, and only tagged releases may be classified as stable.
Installation
npm i react-native-bitcoinjs-lib --save
Installation
npm install bitcoinjs-lib
Typically we support the Node Maintenance LTS version. If in doubt, see the .travis.yml for what versions are used by our continuous integration tests.
Create the react native project.
react-native init fooApp
Install rn-nodeify to be able to use Node.js libs.
npm i rn-nodeify -g
Add this postinstall script to install & hack the Node.js libs for the usage in React Native.
"postinstall": "rn-nodeify --install stream,buffer,events,assert --hack"
Install & link required dependencies.
npm i react-native-bitcoinjs-lib react-native-randombytes --save && react-native link react-native-randombytes
Run the postinstall, it will create a shim.js file which you need to include in your index file (see Usage).
npm run postinstall
Run the app
react-native run-android
or react-native run-ios
Usage
Edit index.android.js and index.ios.js
// node.js libs
import './shim' // make sure to use es6 import and not require()
import Bitcoin from 'react-native-bitcoinjs-lib'
[...]
const keypair = Bitcoin.ECPair.makeRandom()
console.log(keypair.getAddress()) // your brand new base58-encoded Bitcoin address
Examples
Run the example app or refer to the original repository for more available examples.
for Node.js and Browsers
Projects utilizing BitcoinJS- BitAddress
- Blockchain.info
- Blocktrail
- Dark Wallet
- DecentralBank
- Dogechain Wallet
- EI8HT Wallet
- GreenAddress
- Robocoin
- Skyhook ATM
for React Native
Projects utilizing BitcoinJSComplementing Libraries
- BIP21 - A BIP21 compatible URL encoding library
- BIP38 - Passphrase-protected private keys
- BIP39 - ReactNative-ready Mnemonic generation for deterministic keys
- BIP32-Utils - ReactNative-ready set of utilities for working with BIP32
- BIP32-Wallet - A BIP32 Wallet backed by bitcoinjs-lib, lite on features but heavily tested
- BIP66 - Strict DER signature decoding
- BIP68 - Relative lock-time encoding library
- BIP69 - Lexicographical Indexing of Transaction Inputs and Outputs
- Base58 - Base58 encoding/decoding
- Base58 Check - Base58 check encoding/decoding
- BCoin - BIP37 / Bloom Filters / SPV client
- insight - A bitcoin blockchain API for web wallets.
Alternatives
There are currently no alternatives for React Native.