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 runbitcoin_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
Setup a multisig wallet
PSBT sharing with trusted devices
Label Synchronization with trusted devices
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
- Add more pytests
- bbqr code
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
- esplora localhost:3000 electrs localhost:50000
- and a gui block explorer at http://localhost:5000
- 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
- this opens a mempool at http://localhost:8080/
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
Installation from PyPi
Ubuntu, Debian, Windows
-
Install
poetry
and runbitcoin_safe
pip install bitcoin-safe python -m bitcoin_safe
Mac
-
Run
bitcoin_safe
python3 -m pip install bitcoin-safe python3 -m bitcoin_safe
Project details
Release history Release notifications | RSS feed
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.0a1.tar.gz
(2.2 MB
view hashes)
Built Distribution
Close
Hashes for bitcoin_safe-0.6.0a1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42216eb900b87f23430fd74976502af188c750fd6f8bb2987a4da4d5ec169269 |
|
MD5 | fedd903176e0f72d0b4fdb27ff1eb447 |
|
BLAKE2b-256 | 602346c67414078e32d4bddaceebfc074c5c382e5d42596dbedbb74eeb526295 |