Skip to content

bitcoinbayfoundation/baywallet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bay Wallet

ldk wallet & nostr client for the plebs of tampa, by tampa plebs.

Description

Bay Wallet is a project spawned from the Tampa BitDevs meetup. The goal of the project is to inspire new Bitcoin developers to work on a Bitcoin project in a collaborative environment with experienced Bitcoin developers.

Bay Wallet is built with LDK, a Lightning implementation library. LDK allows developers to create full node implementations wihtout having to use a monolithic node implementation such as LND, Core Lightning, or Eclair. This bodes well for mobile because we can run a full node on the device.

Included with Bay Wallet is a nostr client. Having a nostr client included with a Lightning wallet creates a seamless UX for zaps, community engagement, as well as app support.

Resources

Pre-requisites

For andorid development (on ubuntu & mac) you need to follow this guide to install Android Studio and setup an emulator.

For Windows follow this guide

The recommended node version is 18, if not installed we recommend using nvm.

Troubleshooting

If you are having issues with the build, try the following:

yarn clean

# If you are using Windows or Ubuntu
yarn clean:android

Install Instructions

Download the code base and install dependencies.

git clone https://github.com/bennyhodl/baywallet.git

cd baywallet

yarn install

# For iOS development

iOS

# Upgrade hombrew
brew upgrade

# Pods (Ruby - optional)
sudo gem install cocoapods

# Install Pods (with Ruby)
cd ios && pod install && cd ..

# or if not using Ruby
npx pod-install

Start Bay Wallet!

# Setup react-native for your operating system.
yarn rn-setup

# iOS
yarn ios

# Android
yarn android

Features

List of features that could be supported for Bay Wallet. This list serves as an entrypoint for developers to pick a feature they want to implement. New developers can implement from the list or check out the issues.

Nostr

Bay Wallet has the goal of being a full nostr client as well as supporting Tampa's meetup, Bitcoin Bay. With chats, marketplaces, and business discovery.

Lightning

  • Bitcoin only wallet
  • Non-custodial
  • No processing fees
  • No KYC
  • Fully open source (MIT)
  • Node runs on the device
  • On-chain accounts
  • NFC payments and requests
  • PIN or passphrase encryption
  • Privacy mode - hide your sensitive data
  • Lightning address send
  • Lightning address receive
  • Full LNURL support (pay, withdraw, auth, channel)
  • Lightning channel management
  • MPP/AMP support
  • Keysend support
  • Fiat currency integrations
  • On-chain coin control
  • Contact list for easier payments
  • Multiple profile types (payments, merchant etc.)
  • Notifications
  • Flow v2 LSP
  • Zero conf channels

LDK chain backend

Bay Wallet uses esplora and mempool.space for the chain backend. To change the Bitcoin environment you can edit the mempoolBackend in src/util/config.ts

# Regtest
mempool.bitcoinbay.engineering

# Signet
mutinynet.com

# Mainnet
mempool.space