Your Personal CryptoCoin Bank (for bitcoin, litecoin, feathercoin, ppcoin, namecoin, dogecoin, auroracoin and more)
MISSION STATEMENT: Do you want to be in charge of your bitcoin/altcoin safekeeping in your own self-hosted bank? Mybitbank was made with the intention of providing access to the functionality of bitcoind and others through a web interface, deployed in a home server environment, isolated from larger networks. Your rules, your responsibility.
Visit the Reddit UBER-MEGA thread here.
- Support multiple bitcoind (or other coins) instances at the same time (through a config file)
- Tested altcoin instances: litecoin, ppcoin, namecoin, dogecoin, feathercoin, novacoin, auroracoin
- View accounts, transactions for all coin types
- Addressbook for easy access to addresses
- Transfer coins
- Network map of connected peers with extra details
- Built with bootstap layout
- Mobile layout support through bootstrap
- Aliases support for addresses. You keep forgeting addresses? Use an alias
- Build on Django. Support for Django application accounts
- Show balance in USD
- Provision for unresponsive xxxcoind instances
- Support wallets with passphrases
- Proper settings page (for adding/editing xxxcoind instance parameters)
- Proper account details page and preferences
- Add aliasing support for accounts
- Add transfer fee in transfer dialog page
- Add two-factor authentication (?)
- Support client-side raw transaction generation
- Internationalization
- Support for multisig addresses
- When seting up, consider using a different account to run your xxxcoinds. Using your desktop account to run bitcoind may not be wise.
- Adding passphrases in wallets is highly advised. Mybitbank supports passphrases.
- Avoid using the built-in web server provided by Django for production environments. Please see in the apache/ folder for sample configs to setup mybitbank on Apache.
- Setup your Apache deployment with SSL/HTTPS. Mybitbank will complain if it detects that you are not over SSL/HTTPS.
- When any of the coin instances (bitcoind, litecoind, etc) is downloading blocks, the instance becomes unresponsive for some time. During this time the page will also appear to hang but only for 10 seconds. After 10 seconds (configurable) of timeout the page will disable the coin service for another 10 seconds. This happens so that subsequent calls to the same coin service will be ignored for those 10 seconds, speeding up the page load times.
Install git
sudo apt-get install git
Clone repository
git clone https://github.com/sgoudelis/mybitbank.git
Change directory
cd mybitbank
List brances
git branch -v -a
Checkout latest stable branch (use master for now)
git checkout origin/master
Install python-pip
sudo apt-get install python-pip
Install Django
sudo pip install django==1.5.4
You can use other methods to install Django of course. Currenlty Django 1.5.4 is the minimum requirement.
Install south
sudo pip install south
Install python-dateutil
sudo apt-get install python-dateutil
Or just do a:
pip install -r requirements.txt
The above will install all needed components.
Django supports GeoIP but its implementation is just a wrapper. The libgeoip library still needs to be installed system-wide.
sudo apt-get install python-dev
sudo apt-get install libgeoip-dev
sudo pip install geoip
Then download GeoIP City datasets in binary format from MaxMind uncompress and put them in ~/.geoip/
folder.
You may also need to comment out the following line in 'mybitbank/settings.py' if you are on Ubuntu, or keep it for Mac OS
GEOIP_LIBRARY_PATH = '/opt/local/lib/libGeoIP.dylib'
On Mac OS X, you can install using homebrew:
brew install geoip
or MacPorts:
sudo port install libgeoip
Configure the Django settings.py file. Please configure as you see fit. This is a Django settings file.
Copy template file 'mybitbank/settings-template.py' into 'mybitbank/settings.py'.
cp mybitbank/settings-template.py mybitbank/settings.py
Also configure the database parameters in mybitbank/settings.py
Configure xxxcoind instances
Copy and configure a walletconfig.py file. This file contains parameters on where to find the xxxcoind instances (bitcoind, litecoind, etc.). Configure at your discretion.
cp mybitbank/libs/connections/walletconfig-template.py mybitbank/libs/connections/walletconfig.py
Configure Django application database parameters
Make sure that 'mybitbank/settings.py' has proper database parameters (if you are using sqlite3 make sure you define a filepath to the sqlite3 file).
python ./manage.py syncdb
When asked to install a superuse, create one.
python ./manage.py migrate
You can start up the Django development web server (not recommended for production deployments) to test your deployment.
python ./manage.py runserver localhost:8000
Visit the page http://localhost:8000/
Please take a look at the apache/ folder for a sample configuration to run mybitbank as a WSGI application. Take care to update the directory paths in the config files.
mybitbank is a free software distributed under the terms of the MIT license
You can send donations here:
BTC to 1398vTCqE8gjmmDq9Cw3Z94V3oxbe8bW4o
LTC to LYGoNiZGC1vvq9SoVo3o3Ru8gML8XPCrBe