Skip to main content

Long-term Bitcoin savings made Easy

Project description

Bitcoin Safe

Long-term Bitcoin savings made Easy

Currently ALPHA -- Use only on regtest / testnet / signet

Features

  • Easy Bitcoin wallet for long-term cold storage
    • Best practices built into the wallet setup
    • Easier address labels by using categories (e.g. "KYC", "Non-KYC", "Work", "Friends", ...)
      • Automatic coin selection within categories
    • Easier fee selection for non-technical users
    • Automatic UTXO management as much as possible to prevent uneconomical UTXOs in the future
      • Opportunistic merging of small utxos when fees are low
    • Collaborative:
      • Wallet chat and sharing of PSBTs (via nostr)
      • Label synchronization between trusted devices (via nostr)
    • Multi-Language:
      • 🇺🇸 English, 🇨🇳 Chinese - 简体中文, 🇪🇸 Spanish - español de España, 🇯🇵 Japanese - 日本語, 🇷🇺 Russian - русский, 🇵🇹 Portuguese - português europeu, 🇮🇳 Hindi - हिन्दी, Arabic - العربية, (more upon request)
  • Fast: Electrum server andnd upgrade to Compact Block Filters for the Bitcoin Safe 2.0 release
  • Secure: No seed generation or storage (on mainnet).
    • A hardware signer/signing device for safe seed storage is needed (storing seeds on a computer is reckless)
    • Powered by BDK

Installation from Git repository

Ubuntu, Debian, Windows

  • Install poetry and run bitcoin_safe

    git clone https://github.com/andreasgriffin/bitcoin-safe.git
    cd bitcoin-safe
    pip install poetry  && poetry install && poetry run python -m bitcoin_safe
    

Mac

  • Run bitcoin_safe

    git clone https://github.com/andreasgriffin/bitcoin-safe.git
    cd bitcoin-safe
    python3 -m pip install poetry && python3 -m poetry install && python3 -m poetry run python3 -m bitcoin_safe
    
  • Optional: dependency zbar

    xcode-select --install
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    brew install zbar 
    

Preview

Sending

screenshot0

Setup a multisig wallet

screenshot1

PSBT sharing with trusted devices

psbt-share.gif

Label Synchronization with trusted devices

label-sync.gif

Goals (for the 2.0 Release)

  • Compact Block Filters by default
    • Compact Block Filters are fast and private
    • Compact Block Filters (bdk) are being worked on, and will be included in bdk 1.1. For now RPC, Electrum and Esplora are available, but will be replaced completely with Compact Block Filters.

TODOs for beta release

Development

  • Run the precommit manually for debugging
poetry run pre-commit run --all-files

Regtest docker environement with electrs and mempool

  • install docker
# see https://docs.docker.com/engine/install/ubuntu/
  • setting up a regtest environment in docker + mempool instance
curl https://getnigiri.vulpem.com | sudo bash # see https://nigiri.vulpem.com/#install
sudo nigiri start
xdg-open http://localhost:5000/
  • This creates
  • Setup mempool instance
sudo apt install docker-compose
git clone https://github.com/ngutech21/nigiri-mempool.git

pushd nigiri-mempool
sudo docker-compose up -d
sleep 10
# this is needed because the database needs time to start up 
sudo docker-compose up -d
popd
xdg-open http://localhost:8080/

# if the mempool is endlessly loading, then get the debug output with
sudo docker-compose logs -f mempool-api

Control the Regtest environment

  • get coins to an address
nigiri rpc generatetoaddress 1 bcrt1qgsnt3d4sny4w4zd5zl9x6jufc5rankqmgphyms9vz0ds73q4xfms655y4c # mine blocks

# or use the internal faucet
nigiri faucet bcrt1qgsnt3d4sny4w4zd5zl9x6jufc5rankqmgphyms9vz0ds73q4xfms655y4c 0.01

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bitcoin_safe-0.6.0a0.tar.gz (2.2 MB view hashes)

Uploaded Source

Built Distribution

bitcoin_safe-0.6.0a0-py3-none-any.whl (2.3 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page