QtUI code cleanup / comment improvements
[novacoin.git] / README.rst
1 Bitcoin-qt: Qt4 based GUI replacement for Bitcoin
2 =================================================
3
4 **Warning** **Warning** **Warning**
5
6 Alpha version! I'm using this client myself on the production network, and I haven't noticed any glitches, but remember: always backup your wallet.
7 Testing on the testnet is recommended.
8
9 This has been implemented:
10
11 - qmake / QtCreator project (.pro)
12
13 - Compatibility with Linux (both GNOME and KDE), MacOSX and Windows
14
15 - All functionality of the original client, including taskbar icon/menu
16
17 - Splash screen
18
19 - Tabbed interface
20
21 - Overview page with current balance, unconfirmed balance, and such
22
23 - Better transaction list with status icons, real-time filtering and a context menu
24
25 - Asks for confirmation before sending coins, for your own safety
26
27 - CSV export of transactions and address book (for Excel bookkeeping)
28  
29 - Shows alternative icon when connected to testnet, so you never accidentally send real coins during testing
30
31 - Shows a progress bar on initial block download, so that you don't have to wonder how many blocks it needs to download to be up to date
32
33 - Sendmany support, send to multiple recipients at the same time
34
35 - Multiple unit support, can show subdivided bitcoins (uBTC, mBTC) for users that like large numbers
36
37 - Support for English, German and Dutch languages
38
39 - Address books and transaction table can be sorted by any column
40
41 - Accepts "bitcoin:" URLs from browsers through drag and drop
42
43 This has to be done:
44
45 - Start at system start
46
47 - Support more languages
48
49 Build instructions 
50 ===================
51
52 Debian
53 -------
54
55 First, make sure that the required packages for Qt4 development of your
56 distribution are installed, for Debian and Ubuntu these are:
57
58 ::
59
60     apt-get install qt4-qmake libqt4-dev build-essential libboost-dev libboost-system-dev \
61         libboost-filesystem-dev libboost-program-options-dev libboost-thread-dev \
62         libssl-dev libdb4.8++-dev
63
64 then execute the following:
65
66 ::
67
68     qmake
69     make
70
71 Alternatively, install Qt Creator and open the `bitcoin-qt.pro` file.
72
73 An executable named `bitcoin-qt` will be built.
74
75
76 Windows
77 --------
78
79 Windows build instructions:
80
81 - Download the `QT Windows SDK`_ and install it. You don't need the Symbian stuff, just the desktop Qt.
82
83 - Download and extract the `dependencies archive`_  [#]_, or compile openssl, boost and dbcxx yourself.
84
85 - Copy the contents of the folder "deps" to "X:\\QtSDK\\mingw", replace X:\\ with the location where you installed the Qt SDK. Make sure that the contents of "deps\\include" end up in the current "include" directory.
86
87 - Open the .pro file in QT creator and build as normal (ctrl-B)
88
89 .. _`QT Windows SDK`: http://qt.nokia.com/downloads/sdk-windows-cpp
90 .. _`dependencies archive`: http://download.visucore.com/bitcoin/qtgui_deps_1.zip
91 .. [#] PGP signature: http://download.visucore.com/bitcoin/qtgui_deps_1.zip.sig (signed with RSA key ID `610945D0`_)
92 .. _`610945D0`: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x610945D0
93
94 Berkely DB version warning
95 ==========================
96
97 A warning for people using the *static binary* version of Bitcoin on a Linux/UNIX-ish system (tl;dr: **Berkely DB databases are not forward compatible**).
98
99 The static binary version of Bitcoin is linked against libdb4.7 or libdb4.8 (see also `this Debian issue`_).
100
101 Now the nasty thing is that databases from 5.X are not compatible with 4.X. 
102
103 If the globally installed development package of Berkely DB installed on your system is 5.X, any source you
104 build yourself will be linked against that. The first time you run with a 5.X version the database will be upgraded, 
105 and 4.X cannot open the new format. This means that you cannot go back to the old statically linked version without
106 significant hassle!
107
108 .. _`this Debian issue`: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=621425