Skip to content

andreasgriffin/bitcoin-safe

Repository files navigation

Bitcoin Safe

A bitcoin savings wallet for the entire family

Windows Mac OS X Linux
Windows Mac OS X Linux

Comprehensive Feature List

Installation from Git repository

Ubuntu, Debian

  • Install dependencies:

    sudo apt-get install qt6-tools-dev-tools libzbar-dev libxcb-cursor0 '^libqt6.*$' 
  • 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

  • Clone bitcoin_safe

    open "/Applications/Python 3.12/Install Certificates.command"
    export SSL_CERT_FILE=$(python3 -m certifi) # to fix ssl errors
    git clone https://github.com/andreasgriffin/bitcoin-safe.git
    cd bitcoin-safe
  • Optional: dependency zbar

    brew install zbar  
  • Run bitcoin_safe

    python3 -m pip install poetry && python3 -m poetry install && python3 -m poetry run python3 -m bitcoin_safe

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

Verifying the binaries

  • In Linux the appimage and deb file hashes should match perfectly with your own built version.
  • The Windows exe files are signed, and therefore the signature needs to be stripped.
osslsigncode remove-signature -in signed-binary.exe -out binary-stripped.exe

binary-stripped.exe hash will match the hash of your built version.

Qt designer

Qt componets can be explored with the qt designer:

virtualenv .env-qt-designer
source .env-qt-designer/bin/activate
pip install pyqt6-tools 
pyqt6-tools designer 

Code signing policy

Free code signing provided by SignPath.io, certificate by SignPath Foundation

Privacy policy

This program uses by default

You can specify your own (personal) server for both in "Network settings".

When enabeling the Sync&Chat feature default relays are used to transmit encrypted data to your approved trusted devices. You can specify your own relay(s) in the Sync&Chat settings.

This program will not transfer any other information to other networked systems unless specifically requested by the user or the person installing or operating it.

About

A desktop software for managing your cold storage wallets.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 7

Languages