move current qt specific readme to doc/, restore original README.md
[novacoin.git] / doc / readme-qt.rst
1 Bitcoin-qt: Qt4 based GUI replacement for Bitcoin
2 =================================================
3
4 Features
5 ========
6
7 - All functionality of the Wx GUI, including wallet encryption
8
9 - Compatibility with Linux (both GNOME and KDE), MacOSX and Windows
10
11 - Notification on incoming / outgoing transactions (compatible with FreeDesktop and other desktop notification schemes)
12
13 - General interface improvements: Splash screen, tabbed interface
14
15 - Overview page with current balance, unconfirmed balance, and such
16
17 - Better transaction list with status icons, real-time filtering and a context menu
18
19 - Asks for confirmation before sending coins, for your own safety
20
21 - CSV export of transactions and address book (for Excel bookkeeping)
22
23 - Shows alternative icon when connected to testnet, so you never accidentally send real coins during testing
24
25 - 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
26
27 - Sendmany support, send to multiple recipients at the same time
28
29 - Multiple unit support, can show subdivided bitcoins (uBTC, mBTC) for users that like large numbers
30
31 - Support for English, German, Russian and Dutch languages
32
33 - Address books and transaction table can be sorted by any column
34
35 - Accepts "bitcoin:" URLs from browsers and other sources through drag and drop
36
37 Build instructions
38 ===================
39
40 Debian
41 -------
42
43 First, make sure that the required packages for Qt4 development of your
44 distribution are installed, for Debian and Ubuntu these are:
45
46 ::
47
48     apt-get install qt4-qmake libqt4-dev build-essential libboost-dev libboost-system-dev \
49         libboost-filesystem-dev libboost-program-options-dev libboost-thread-dev \
50         libssl-dev libdb4.8++-dev
51
52 then execute the following:
53
54 ::
55
56     qmake
57     make
58
59 Alternatively, install Qt Creator and open the `bitcoin-qt.pro` file.
60
61 An executable named `bitcoin-qt` will be built.
62
63
64 Windows
65 --------
66
67 Windows build instructions:
68
69 - Download the `QT Windows SDK`_ and install it. You don't need the Symbian stuff, just the desktop Qt.
70
71 - Download and extract the `dependencies archive`_  [#]_, or compile openssl, boost and dbcxx yourself.
72
73 - 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.
74
75 - Open the .pro file in QT creator and build as normal (ctrl-B)
76
77 .. _`QT Windows SDK`: http://qt.nokia.com/downloads/sdk-windows-cpp
78 .. _`dependencies archive`: https://download.visucore.com/bitcoin/qtgui_deps_1.zip
79 .. [#] PGP signature: https://download.visucore.com/bitcoin/qtgui_deps_1.zip.sig (signed with RSA key ID `610945D0`_)
80 .. _`610945D0`: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x610945D0
81
82
83 Mac OS X
84 --------
85
86 - Download and install the `Qt Mac OS X SDK`_. It is recommended to also install Apple's Xcode with UNIX tools.
87
88 - Download and install `MacPorts`_.
89
90 - Execute the following commands in a terminal to get the dependencies:
91
92 ::
93
94         sudo port selfupdate
95         sudo port install boost db48
96
97 - Open the .pro file in Qt Creator and build as normal (cmd-B)
98
99 .. _`Qt Mac OS X SDK`: http://qt.nokia.com/downloads/sdk-mac-os-cpp
100 .. _`MacPorts`: http://www.macports.org/install.php
101
102
103 Build configuration options
104 ============================
105
106 UPNnP port forwarding
107 ---------------------
108
109 To use UPnP for port forwarding behind a NAT router (recommended, as more connections overall allow for a faster and more stable bitcoin experience), pass the following argument to qmake:
110
111 ::
112
113     qmake "USE_UPNP=1"
114
115 (in **Qt Creator**, you can find the setting for additional qmake arguments under "Projects" -> "Build Settings" -> "Build Steps", then click "Details" next to **qmake**)
116
117 This requires miniupnpc for UPnP port mapping.  It can be downloaded from
118 http://miniupnp.tuxfamily.org/files/.  UPnP support is not compiled in by default.
119
120 Set USE_UPNP to a different value to control this:
121
122 +------------+--------------------------------------------------------------+
123 | USE_UPNP=  | (the default) no UPnP support, miniupnpc not required;       |
124 +------------+--------------------------------------------------------------+
125 | USE_UPNP=0 | UPnP support turned off by default at runtime;               |
126 +------------+--------------------------------------------------------------+
127 | USE_UPNP=1 | UPnP support turned on by default at runtime.                |
128 +------------+--------------------------------------------------------------+
129
130 Mac OS X users: miniupnpc is currently outdated on MacPorts. An updated Portfile is provided in contrib/miniupnpc within this project.
131 You can execute the following commands in a terminal to install it:
132
133 ::
134
135         cd <location of bitcoin-qt>/contrib/miniupnpc
136         sudo port install
137
138 Notification support for recent (k)ubuntu versions
139 ---------------------------------------------------
140
141 To see desktop notifications on (k)ubuntu versions starting from 10.04, enable usage of the
142 FreeDesktop notification interface through DBUS using the following qmake option:
143
144 ::
145
146     qmake "USE_DBUS=1"
147
148 Berkely DB version warning
149 ==========================
150
151 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**).
152
153 The static binary version of Bitcoin is linked against libdb4.7 or libdb4.8 (see also `this Debian issue`_).
154
155 Now the nasty thing is that databases from 5.X are not compatible with 4.X.
156
157 If the globally installed development package of Berkely DB installed on your system is 5.X, any source you
158 build yourself will be linked against that. The first time you run with a 5.X version the database will be upgraded,
159 and 4.X cannot open the new format. This means that you cannot go back to the old statically linked version without
160 significant hassle!
161
162 .. _`this Debian issue`: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=621425