Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/metamarcdw/nowallet
This project is a secure Bitcoin brainwallet app written in Python.
https://github.com/metamarcdw/nowallet
android bitcoin deniability kivy privacy python3 stratum tor wallet
Last synced: 3 months ago
JSON representation
This project is a secure Bitcoin brainwallet app written in Python.
- Host: GitHub
- URL: https://github.com/metamarcdw/nowallet
- Owner: metamarcdw
- License: mit
- Created: 2017-07-31T20:18:57.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-09-11T17:05:21.000Z (over 2 years ago)
- Last Synced: 2024-10-01T08:24:04.501Z (3 months ago)
- Topics: android, bitcoin, deniability, kivy, privacy, python3, stratum, tor, wallet
- Language: Python
- Homepage: https://www.nowallet.org
- Size: 775 KB
- Stars: 69
- Watchers: 10
- Forks: 12
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
### Secure, private, and plausibly deniable
#### Cross-platform Bitcoin brainwallet### Introduction:
This project is a secure Bitcoin brainwallet app that will ultimately be
meant for desktop and mobile platforms. It was inspired by reports of
incidents of Bitcoin being seized physically at border crossings.
People need an option for a brainwallet that is secure and easy to use.It's written in Python and depends on the pycoin and connectrum
libraries. It uses Electrum servers on the back end, and communicates
exclusively over Tor. It uses a variant of the ['WarpWallet'](https://keybase.io/warp/)
technique, combining PBKDF2 and scrypt with a salt for key derivation,
rather than the typical, highly insecure SHA256(passphrase) method that
your average brainwallet uses. Here's a basic explanation of the benefits
of using the WarpWallet technique:##### Quoted from https://keybase.io/warp/:
>"WarpWallet is a deterministic bitcoin address generator. You never have
>to save or store your private key anywhere. Just pick a really good
>password and never use it for anything else.
>
>This is not an original idea. bitaddress.org's brainwallet is our
>inspiration.
>
>WarpWallet adds two improvements: (1) WarpWallet uses scrypt to make
>address generation both memory and time-intensive. And (2) you can "salt"
>your passphrase with your email address. Though salting is optional, we
>recommend it. Any attacker of WarpWallet addresses would have to target
>you individually, rather than netting you in a wider, generic sweep. And
>your email is trivial to remember, so why not?"(Note: Salting is not optional in our case.)
### Details:
Basically, you get a secure brainwallet in a convenient app (now with
SegWit address support) and only need to remember an email address/password
combination rather than an entire 12/24 word seed. People are typically
more accustomed to remembering a normal set of login info, which will
protect users from forgetting or misremembering part of their seed and
losing coins forever.We have also implemented a full HD wallet compatible with BIP32/44. The
current working title is Nowallet, as in, "I'm sorry officer, I have no
wallet!" We are currently in a pre-alpha state. All testers must be
able to install dependencies and run from the simple command line interface.If you're interested in testing, you can get some testnet coins here:
https://coinfaucet.eu/en/btc-testnet/### SCREENSHOTS:
![Login](https://github.com/metamarcdw/nowallet/blob/master/screens/Screenshot_login.png)
![Balance](https://github.com/metamarcdw/nowallet/blob/master/screens/Screenshot_balance.png)
![Send](https://github.com/metamarcdw/nowallet/blob/master/screens/Screenshot_send.png)
![Recieve](https://github.com/metamarcdw/nowallet/blob/master/screens/Screenshot_recieve.png)### REQUIREMENTS:
1. Building is currently supported on Linux based systems only. (Ubuntu LTS specifically if using Kivy)
2. Install Tor for Linux using the instructions linked below:
https://www.torproject.org/docs/debian.html.en
(Do not use the packages in Ubuntu's universe.)### INSTALLATION:
Install Nowallet dependencies:
`sudo apt-get install git python3-dev python3-pip libssl-dev`
Install Kivy UI dependencies: (optional)
`sudo apt-get install build-essential ffmpeg libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev libportmidi-dev libswscale-dev libavformat-dev libavcodec-dev zlib1g-dev`
Clone the Nowallet Github repository:
`git clone https://github.com/metamarcdw/nowallet.git`
Create a virtualenv (using virtualenvwrapper for example):
First install virtualenvwrapper using the instructions linked below:
http://railslide.io/virtualenvwrapper-python3.html
Create the virtualenv:
`mkvirtualenv --no-site-packages -p /usr/bin/python3 nowallet`
Make sure Pip, Virtualenv and Setuptools are updated:
`pip install --upgrade pip virtualenv setuptools`
Install required Python libraries:
`cd nowallet`
`make init`
`make install`
Install required Kivy libraries: (optional)
`pip install Cython==0.24`
`make init-kivy`
`garden install qrcode`Install required development libraries: (optional)
`make init-dev`Run nowallet from the command line:
`make go`
OR
`make go-spend`
OR
`make go-kivy`#### UNIT TESTING:
Run unit tests (Must install dev libs):
`make test`