forked from etotheipi/BitcoinArmory
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
101 lines (89 loc) · 4.61 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
################################################################################
# #
# Copyright (C) 2011-2013, Alan C. Reiner <[email protected]> #
# 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/