################################################################################ # # # Copyright (C) 2011-2014, Armory Technologies, Inc. # # Distributed under the GNU Affero General Public License (AGPL v3) # # See LICENSE or http://www.gnu.org/licenses/agpl.html # # # ################################################################################ ******************************************************************************** * * Project: Armory * Author: Alan Reiner * Orig Date: 13 July, 2011 * Descr: Armory is a full-featured Bitcoin client, offering a dozen * innovative features not found in any other client software! * Manage multiple wallets (deterministic and watching-only), * print paper backups that work forever, import or sweep private * keys, and keep your savings in a computer that never touches * the internet, while still being able to manage incoming payments, * and create outgoing payments with the help of a USB key. * * Multi-signature transactions are accommodated under-the-hood * about 80%, and will be completed and integrated into the UI soon. * * ***Armory has no independent networking components built in. * Instead, it relies on on the Satoshi client to securely connect * to peers, validate blockchain data, and broadcast transactions * for us. Although it was initially planned to cut the umbilical * cord to the Satoshi client and implement independent networking, * it has turned out to be an inconvenience worth having. * Reimplementing all the networking code would be fraught with bugs, * security holes, and possible blockchain forking. The reliance * on Bitcoin-Qt right now is actually making Armory more secure! * * ******************************************************************************** * * Please take a moment to donate 1.0 BTC! 1ArmoryXcfq7TnCSuZa9fQjRYwJ4bkRKfv * ******************************************************************************** * * * Building Armory from Source: * http://bitcoinarmory.com/index.php/building-armory-from-source * * ******************************************************************************** * * Armory contains over 25,000 lines of code, between the C++ and python * libraries. This can be very confusing for someone unfamiliar with the * code (you). Below I have attempted to illustrate the CONOPS (concept of * operations) that the library was designed for, so you know how to use it * in your own development activities. There is a TON of sample code in * the following three files: * * [ C++ ] cppForSwig/BlockUtilsTest.cpp * [ Python ] unittest.py, extras/sample_armory_code.py * * But of course, sample code alone does not make great documentation. I will * attempt to provide reference info for everything else you need to know, here. * For a list of library features, see the STATUS table in the README. Note * that all features with an X in either column are accessible in SWIG. * ******************************************************************************** * *** Dependencies *** - Crypto++ Linux: Install package "libcrypto++-dev" Windows: Download from "http://www.cryptopp.com/#download" - SWIG Linux: Install package "swig" Windows: "http://www.swig.org/download.html" (MSVS: Copy swigwin-2.x directory next to cryptopp as "swigwin") - Python 2.6/2.7 Linux: Should be preinstalled... Windows: "http://www.python.org/getit/" - Python Twisted -- asynchronous networking Linux: Install package 'python-twisted' Windows: "http://twistedmatrix.com/trac/wiki/Downloads" - PyQt 4 (for Python 2.X) Linux: Install "libqtcore4", "libqt4-dev" and "python-qt4" Windows: "http://www.riverbankcomputing.co.uk/software/pyqt/download" - qt4reactor.py -- combined eventloop for PyQt and Twisted All OS: https://launchpad.net/qt4reactor Windows Only: qt4reactor relies on pywin32 (for win32event module) http://sourceforge.net/projects/pywin32/files/pywin32/ - pywin32 - py2exe (OPTIONAL - if you want to make a standalone executable in Windows) Windows: http://www.py2exe.org/