npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

bdk-rn

v1.1.0

Published

React Native language bindings for the bitcoin development kit

Readme

Bitcoin Dev Kit — React Native

React Native language bindings for the Bitcoin Development Kit. Read our documentation for this library here.

The code in this repository is mostly comprised of:

  • Build tools and workflows
  • CI workflows
  • Tests
  • Docs

The core Rust code that is exposed to the React Native language bindings actually resides in the bdk-ffi repository. This repo pulls it in as a submodule.

Supported Platforms

The package ships prebuilt native libraries for:

  • Android: arm64-v8a (devices) and x86_64 (emulators)
  • iOS: arm64 devices and arm64 simulators (Apple Silicon Macs)

32-bit Android ABIs (armeabi-v7a and x86) are not supported. New React Native apps build all four Android ABIs by default, which produces 32-bit builds that do not contain bdk-rn and would crash on a 32-bit-only device. Restrict your app to the supported ABIs in android/gradle.properties:

reactNativeArchitectures=arm64-v8a,x86_64

Exploring the Example Apps

To take a look at the API exposed in this library, you can run our example applications. Read the docs on this here, and find our example apps here.

Building the Library and Running the Tests

Take a look at our docs here for more complete information on building, testing, CI, releases, etc.

You can easily build the library from source for quick development and iteration with only a few prerequisites:

  • Rust toolchain (stable 1.91.1)
  • just CLI tool: https://github.com/casey/just
  • cargo-ndk (cargo install cargo-ndk)
  • For iOS: CocoaPods >= 1.13: ()brew install cocoapods)

Build Instructions

# Clone the repo and install prerequisites
git clone [email protected]:bitcoindevkit/bdk-rn.git
cd bdk-rn

# Install compilation targets
rustup target add aarch64-linux-android x86_64-linux-android aarch64-apple-ios aarch64-apple-ios-sim

# Build the library and create tarball (includes both Android and iOS)
just rename-library
# Build both platforms and creates bdk-rn-VERSION.tgz
just build-tarball

Running the Test Suite

The tests/ directory contains a standalone test app that uses the library as a tarball dependency (similar to how end-users would consume it). This app is not part of the workspace and is completely decoupled from the library development.

You can use the following workflow to run the tests locally on an Android emulator, or to develop features on the library by first making changes to the local bdk-ffi repository and then running through the workflow with new/modified tests.

# Build and package the library
just build-android

# Create the tarball bdk-rn-<version>-next.tgz
npm pack

# Install dependencies in the tests
cd tests

# Make sure your package.json file references the ../bdk-rn-<version>-next.tgz
npm install

# To see tests results in your shell, run this prior to starting the app
adb logcat -c && adb logcat -s ReactNativeJS | tee tests.log

# Run the app
npm run android

Test Development Workflow

  1. Make changes to bdk-ffi or the library code
  2. Build and package: just build-android && npm pack
  3. Update tests: cd tests && npm install
  4. Add or modify tests in the tests
  5. Run the app and verify test results in logcat or in the emulator