@cnixbtc/react-native-breez-sdk
TypeScript icon, indicating that this package has built-in type declarations

0.1.7 • Public • Published

React Native Breez SDK

The Breez SDK enables mobile developers to integrate Lightning and bitcoin payments into their apps with a very shallow learning curve. The use cases are endless – from social apps that want to integrate tipping between users to content-creation apps interested in adding bitcoin monetization. Crucially, this SDK is an end-to-end, non-custodial, drop-in solution powered by Greenlight, a built-in LSP, on-chain interoperability, third-party fiat on-ramps, and other services users and operators need.

The Breez SDK provides the following services:

  • Sending payments (via various protocols such as: bolt11, keysend, lnurl-pay, lightning address, etc.)
  • Receiving payments (via various protocols such as: bolt11, lnurl-withdraw, etc.)
  • Fetching node status (e.g. balance, max allow to pay, max allow to receive, on-chain balance, etc.)
  • Connecting to a new or existing node.

Installation

$ npm install @breeztech/react-native-breez-sdk

or

$ yarn add @breeztech/react-native-breez-sdk

Usage

For a more in-depth look at using the Breez SDK, you can follow these examples in the SDK overview.

Please contact support@breez.technology to request a Breez API Key.

import React, { useEffect } from "react"
import { 
    defaultConfig,
    EnvironmentType,    
    sendPayment,
    connect 
} from "@breeztech/react-native-breez-sdk";
import BuildConfig from "react-native-build-config"

const App = () => (
    ...

    const payInvoice = async (bolt11: string, sats?: number) => {
        // Pay invoice
        const payment = await sendPayment(bolt11, sats)
    }

    useEffect(() => {
        const asyncFn = async () => {
            
            // create the specific node configuration
            const nodeConfig = {
                type: "greenlight",
                config: {
                    partnerCredentials: {
                        deviceKey: null,
                        deviceCert: null
                    }
                }
            }
            
            // Construct the sdk default config
            const config = await defaultConfig(EnvironmentType.PRODUCTION, BuildConfig.BREEZ_API_KEY, nodeConfig)            

             // Connect to the Breez SDK make it ready to use
            await connect(config, seed)            
        }

        asyncFn()
    }, [])

    ...
)

export default App

Example

In the example folder of the Breez SDK repository you will find a basic application for using Breez SDK. Change directory into the folder and install the dependencies:

$ yarn

Then to run on android:

$ yarn android

or for iOS:

$ yarn pods && yarn ios

Package Sidebar

Install

npm i @cnixbtc/react-native-breez-sdk

Weekly Downloads

2

Version

0.1.7

License

MIT

Unpacked Size

1.38 MB

Total Files

181

Last publish

Collaborators

  • cnixbtc