aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/README.md22
-rw-r--r--doc/Tor.txt92
-rw-r--r--doc/assets-attribution.txt58
-rw-r--r--doc/build-unix.md62
-rw-r--r--doc/files.txt19
-rw-r--r--doc/readme-qt.md128
-rw-r--r--doc/release-process.md28
-rw-r--r--doc/tor.md7
-rw-r--r--doc/translation_process.md11
-rw-r--r--doc/unit-tests.md37
10 files changed, 83 insertions, 381 deletions
diff --git a/doc/README.md b/doc/README.md
index 1238033fb7..068ed988d1 100644
--- a/doc/README.md
+++ b/doc/README.md
@@ -3,22 +3,15 @@ Bitcoin 0.8.2 BETA
Copyright (c) 2009-2013 Bitcoin Developers
+License
+---------------------
Distributed under the [MIT/X11 software license](http://www.opensource.org/licenses/mit-license.php).
This product includes software developed by the OpenSSL Project for use in the [OpenSSL Toolkit](http://www.openssl.org/). This product includes
cryptographic software written by Eric Young ([eay@cryptsoft.com](mailto:eay@cryptsoft.com)), and UPnP software written by Thomas Bernard.
-
-Intro
----------------------
-Bitcoin is a free open source peer-to-peer electronic cash system that is
-completely decentralized, without the need for a central server or trusted
-parties. Users hold the crypto keys to their own money and transact directly
-with each other, with the help of a P2P network to check for double-spending.
-
-
Setup
---------------------
-[Bitcoin-Qt](http://bitcoin.org/en/download) is the original Bitcoin client and it builds the backbone of the network. However, it downloads and stores the entire history of Bitcoin transactions; depending on the speed of your computer and network connection, the synchronization process can take anywhere from a few hours to a day or more.
+[Bitcoin-Qt](http://bitcoin.org/en/download) is the original Bitcoin client and it builds the backbone of the network. However, it downloads and stores the entire history of Bitcoin transactions (which is currently several GBs); depending on the speed of your computer and network connection, the synchronization process can take anywhere from a few hours to a day or more.
### Unix
@@ -44,17 +37,20 @@ Unpack the files into a directory and run bitcoin-qt.exe.
* See the documentation at the [Bitcoin Wiki](https://en.bitcoin.it/wiki/Main_Page)
for help and more information.
* Ask for help on [#bitcoin](http://webchat.freenode.net?channels=bitcoin) on Freenode. If you don't have an IRC client use [webchat here](http://webchat.freenode.net?channels=bitcoin).
-* Ask for help on the [BitcoinTalk](https://bitcointalk.org/) forums.
+* Ask for help on the [BitcoinTalk](https://bitcointalk.org/) forums, in the [technical support board](https://bitcointalk.org/index.php?board=4.0).
Building
---------------------
-- [Bitcoin-Qt Readme](readme-qt.md)
+The following are developer notes on how to build Bitcoin on your native platform. They are not complete guide, but include notes on the necessary libraries, compile flags, etc.
+
- [OSX Build Notes](build-osx.md)
- [Unix Build Notes](build-unix.md)
- [Windows Build Notes](build-msw.md)
Development
---------------------
+The Bitcoin repo's [root README](https://github.com/bitcoin/bitcoin/blob/master/README.md) contains relevant information on the development process and automated testing.
+
- [Coding Guidelines](coding.md)
- [Multiwallet Qt Development](multiwallet-qt.md)
- [Release Notes](release-notes.md)
@@ -67,4 +63,4 @@ Other Pages
---------------------
- [Assets Attribution](assets-attribution.md)
- [Files](files.md)
-- [Tor Support](tor.md) \ No newline at end of file
+- [Tor Support](tor.md)
diff --git a/doc/Tor.txt b/doc/Tor.txt
deleted file mode 100644
index 386e3b5466..0000000000
--- a/doc/Tor.txt
+++ /dev/null
@@ -1,92 +0,0 @@
-TOR SUPPORT IN BITCOIN
-======================
-
-It is possible to run Bitcoin as a Tor hidden service, and connect to such services.
-
-The following directions assume you have a Tor proxy running on port 9050. Many distributions
-default to having a SOCKS proxy listening on port 9050, but others may not.
-In particular, the Tor Browser Bundle defaults to listening on a random port. See
-https://www.torproject.org/docs/faq.html.en#TBBSocksPort for how to properly
-configure Tor.
-
-
-1. Run bitcoin behind a Tor proxy
----------------------------------
-
-The first step is running Bitcoin behind a Tor proxy. This will already make all
-outgoing connections be anonimized, but more is possible.
-
--socks=5 SOCKS5 supports connecting-to-hostname, which can be used instead
- of doing a (leaking) local DNS lookup. SOCKS5 is the default,
- but SOCKS4 does not support this. (SOCKS4a does, but isn't
- implemented).
-
--proxy=ip:port Set the proxy server. If SOCKS5 is selected (default), this proxy
- server will be used to try to reach .onion addresses as well.
-
--tor=ip:port Set the proxy server to use for tor hidden services. You do not
- need to set this if it's the same as -proxy. You can use -notor
- to explicitly disable access to hidden service.
-
--listen When using -proxy, listening is disabled by default. If you want
- to run a hidden service (see next section), you'll need to enable
- it explicitly.
-
--connect=X When behind a Tor proxy, you can specify .onion addresses instead
--addnode=X of IP addresses or hostnames in these parameters. It requires
--seednode=X SOCKS5. In Tor mode, such addresses can also be exchanged with
- other P2P nodes.
-
-In a typical situation, this suffices to run behind a Tor proxy:
-
- ./bitcoin -proxy=127.0.0.1:9050
-
-
-2. Run a bitcoin hidden server
-------------------------------
-
-If you configure your Tor system accordingly, it is possible to make your node also
-reachable from the Tor network. Add these lines to your /etc/tor/torrc (or equivalent
-config file):
-
- HiddenServiceDir /var/lib/tor/bitcoin-service/
- HiddenServicePort 8333 127.0.0.1:8333
-
-The directory can be different of course, but (both) port numbers should be equal to
-your bitcoind's P2P listen port (8333 by default).
-
--externalip=X You can tell bitcoin about its publicly reachable address using
- this option, and this can be a .onion address. Given the above
- configuration, you can find your onion address in
- /var/lib/tor/bitcoin-service/hostname. Onion addresses are given
- preference for your node to advertize itself with, for connections
- coming from unroutable addresses (such as 127.0.0.1, where the
- Tor proxy typically runs).
-
--listen You'll need to enable listening for incoming connections, as this
- is off by default behind a proxy.
-
--discover When -externalip is specified, no attempt is made to discover local
- IPv4 or IPv6 addresses. If you want to run a dual stack, reachable
- from both Tor and IPv4 (or IPv6), you'll need to either pass your
- other addresses using -externalip, or explicitly enable -discover.
- Note that both addresses of a dual-stack system may be easily
- linkable using traffic analysis.
-
-In a typical situation, where you're only reachable via Tor, this should suffice:
-
- ./bitcoind -proxy=127.0.0.1:9050 -externalip=57qr3yd1nyntf5k.onion -listen
-
-(obviously, replace the Onion address with your own). If you don't care too much
-about hiding your node, and want to be reachable on IPv4 as well, additionally
-specify:
-
- ./bitcoind ... -discover
-
-and open port 8333 on your firewall (or use -upnp).
-
-If you only want to use Tor to reach onion addresses, but not use it as a proxy
-for normal IPv4/IPv6 communication, use:
-
- ./bitcoin -tor=127.0.0.1:9050 -externalip=57qr3yd1nyntf5k.onion -discover
-
diff --git a/doc/assets-attribution.txt b/doc/assets-attribution.txt
deleted file mode 100644
index 2069c5d6e0..0000000000
--- a/doc/assets-attribution.txt
+++ /dev/null
@@ -1,58 +0,0 @@
-Icon: src/qt/res/icons/clock*.png, src/qt/res/icons/tx*.png,
- src/qt/res/src/clock_green.svg, src/qt/res/src/clock1.svg,
- src/qt/res/src/clock2.svg, src/qt/res/src/clock3.svg,
- src/qt/res/src/clock4.svg, src/qt/res/src/clock5.svg,
- src/qt/res/src/inout.svg, src/qt/res/src/questionmark.svg
-Designer: Wladimir van der Laan
-License: MIT
-
-Icon: src/qt/res/icons/address-book.png, src/qt/res/icons/export.png,
- src/qt/res/icons/history.png, src/qt/res/icons/key.png,
- src/qt/res/icons/lock_*.png, src/qt/res/icons/overview.png,
- src/qt/res/icons/receive.png, src/qt/res/icons/send.png,
- src/qt/res/icons/synced.png, src/qt/res/icons/filesave.png
-Icon Pack: NUVOLA ICON THEME for KDE 3.x
-Designer: David Vignoni (david@icon-king.com)
- ICON KING - www.icon-king.com
-License: LGPL
-Site: http://www.icon-king.com/projects/nuvola/
-
-Icon: src/qt/res/icons/connect*.png
-Icon Pack: Human-O2
-Designer: schollidesign
-License: GNU/GPL
-Site: http://findicons.com/icon/93743/blocks_gnome_netstatus_0
-
-Icon: src/qt/res/icons/transaction*.png
-Designer: md2k7
-Site: https://bitcointalk.org/index.php?topic=15276.0
-License: You are free to do with these icons as you wish, including selling,
- copying, modifying etc.
-License: MIT
-
-Icon: src/qt/res/icons/configure.png, src/qt/res/icons/quit.png,
- src/qt/res/icons/editcopy.png, src/qt/res/icons/editpaste.png,
- src/qt/res/icons/add.png, src/qt/res/icons/edit.png,
- src/qt/res/icons/remove.png (edited)
-Designer: http://www.everaldo.com
-Icon Pack: Crystal SVG
-License: LGPL
-
-Icon: scripts/img/reload.xcf (modified), src/qt/res/movies/update_spinner.mng
-Icon Pack: Kids
-Designer: Everaldo (Everaldo Coelho)
-License: GNU/GPL
-Site: http://findicons.com/icon/17102/reload?id=17102
-
-Icon: src/qt/res/icons/debugwindow.png
-Designer: Vignoni David
-Site: http://www.oxygen-icons.org/
-License: Oxygen icon theme is dual licensed. You may copy it under the Creative Common Attribution-ShareAlike 3.0 License or the GNU Library General Public License.
-
-Icon: src/qt/res/icons/bitcoin.icns, src/qt/res/src/bitcoin.svg,
- src/qt/res/src/bitcoin.ico, src/qt/res/src/bitcoin.png,
- src/qt/res/src/bitcoin_testnet.png, docs/bitcoin_logo_doxygen.png,
- src/qt/res/icons/toolbar.png, src/qt/res/icons/toolbar_testnet.png,
- src/qt/res/images/splash.png, src/qt/res/images/splash_testnet.png
-Designer: Jonas Schnelli (based on the original bitcoin logo from Bitboy)
-License: MIT
diff --git a/doc/build-unix.md b/doc/build-unix.md
index 4653bba495..422b46cc3a 100644
--- a/doc/build-unix.md
+++ b/doc/build-unix.md
@@ -5,10 +5,12 @@ Some notes on how to build Bitcoin in Unix.
To Build
---------------------
- cd src/
- make -f makefile.unix # Headless bitcoin
+ ./autogen.sh
+ ./configure
+ make
-See [readme-qt.md](readme-qt.md) for instructions on building Bitcoin-Qt, the graphical user interface.
+This will build bitcoin-qt as well if the dependencies are met.
+See [readme-qt.md](readme-qt.md) for more information.
Dependencies
---------------------
@@ -19,18 +21,21 @@ Dependencies
libdb4.8 Berkeley DB Blockchain & wallet storage
libboost Boost C++ Library
miniupnpc UPnP Support Optional firewall-jumping support
+ qt GUI GUI toolkit
+ protobuf Payments in GUI Data interchange format used for payment protocol
+ libqrencode QR codes in GUI Optional for generating QR codes
[miniupnpc](http://miniupnp.free.fr/) may be used for UPnP port mapping. It can be downloaded from [here](
http://miniupnp.tuxfamily.org/files/). UPnP support is compiled in and
-turned off by default. Set USE_UPNP to a different value to control this:
+turned off by default. See the configure options for upnp behavior desired:
- USE_UPNP= No UPnP support miniupnp not required
- USE_UPNP=0 (the default) UPnP support turned off by default at runtime
- USE_UPNP=1 UPnP support turned on by default at runtime
+ --with-miniupnpc No UPnP support miniupnp not required
+ --disable-upnp-default (the default) UPnP support turned off by default at runtime
+ --enable-upnp-default UPnP support turned on by default at runtime
IPv6 support may be disabled by setting:
- USE_IPV6=0 Disable IPv6 support
+ --disable-ipv6 Disable IPv6 support
Licenses of statically linked libraries:
Berkeley DB New BSD license with additional requirement that linked
@@ -44,21 +49,25 @@ Licenses of statically linked libraries:
- Berkeley DB 4.8.30.NC
- Boost 1.37
- miniupnpc 1.6
+- qt 4.8.3
+- protobuf 2.5.0
+- libqrencode 3.2.0
Dependency Build Instructions: Ubuntu & Debian
----------------------------------------------
Build requirements:
sudo apt-get install build-essential
+ sudo apt-get install libtool autotools-dev
sudo apt-get install libssl-dev
-for Ubuntu 12.04:
+for Ubuntu 12.04 and later:
sudo apt-get install libboost-all-dev
db4.8 packages are available [here](https://launchpad.net/~bitcoin/+archive/bitcoin).
- Ubuntu precise has packages for libdb5.1-dev and libdb5.1++-dev,
+ Ubuntu 12.04 and later have packages for libdb5.1-dev and libdb5.1++-dev,
but using these will break binary wallet compatibility, and is not recommended.
for other Ubuntu & Debian:
@@ -70,23 +79,24 @@ for other Ubuntu & Debian:
Optional:
- sudo apt-get install libminiupnpc-dev (see USE_UPNP compile flag)
+ sudo apt-get install libminiupnpc-dev (see --with-miniupnpc and --enable-upnp-default)
+Dependencies for the GUI: Ubuntu & Debian
+-----------------------------------------
-Dependency Build Instructions: Gentoo
--------------------------------------
+If you want to build Bitcoin-Qt, make sure that the required packages for Qt development
+are installed. Qt 4 is currently necessary to build the GUI.
-Note: If you just want to install bitcoind on Gentoo, you can add the Bitcoin overlay and use your package manager:
+To build with Qt 4 you need the following:
- layman -a bitcoin && emerge bitcoind
- emerge -av1 --noreplace boost glib openssl sys-libs/db:4.8
+ apt-get install libqt4-dev libprotobuf-dev
-Take the following steps to build (no UPnP support):
+libqrencode (optional) can be installed with:
- cd ${BITCOIN_DIR}/src
- make -f makefile.unix USE_UPNP= USE_IPV6=1 BDB_INCLUDE_PATH='/usr/include/db4.8'
- strip bitcoind
+ apt-get install libqrencode-dev
+Once these are installed, they will be found by configure and a bitcoin-qt executable will be
+built by default.
Notes
-----
@@ -123,7 +133,13 @@ If you need to build Boost yourself:
Security
--------
To help make your bitcoin installation more secure by making certain attacks impossible to
-exploit even if a vulnerability is found, you can take the following measures:
+exploit even if a vulnerability is found, binaries are hardened by default.
+This can be disabled with:
+
+./configure --enable-hardening
+
+
+Hardening enables the following features:
* Position Independent Executable
Build position independent code to take advantage of Address Space Layout Randomization
@@ -135,10 +151,6 @@ exploit even if a vulnerability is found, you can take the following measures:
On an Amd64 processor where a library was not compiled with -fPIC, this will cause an error
such as: "relocation R_X86_64_32 against `......' can not be used when making a shared object;"
- To build with PIE, use:
-
- make -f makefile.unix ... -e PIE=1
-
To test that you have built PIE executable, install scanelf, part of paxutils, and use:
scanelf -e ./bitcoin
diff --git a/doc/files.txt b/doc/files.txt
deleted file mode 100644
index 5d4cdabf8d..0000000000
--- a/doc/files.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-Used in 0.8.0:
-* wallet.dat: personal wallet (BDB) with keys and transactions
-* peers.dat: peer IP address database (custom format); since 0.7.0
-* blocks/blk000??.dat: block data (custom, 128 MiB per file); since 0.8.0
-* blocks/rev000??.dat; block undo data (custom); since 0.8.0 (format changed since pre-0.8)
-* blocks/index/*; block index (LevelDB); since 0.8.0
-* chainstate/*; block chain state database (LevelDB); since 0.8.0
-* database/*: BDB database environment; only used for wallet since 0.8.0
-
-Only used in pre-0.8.0:
-* blktree/*; block chain index (LevelDB); since pre-0.8, replaced by blocks/index/* in 0.8.0
-* coins/*; unspent transaction output database (LevelDB); since pre-0.8, replaced by chainstate/* in 0.8.0
-
-Only used before 0.8.0:
-* blkindex.dat: block chain index database (BDB); replaced by {chainstate/*,blocks/index/*,blocks/rev000??.dat} in 0.8.0
-* blk000?.dat: block data (custom, 2 GiB per file); replaced by blocks/blk000??.dat in 0.8.0
-
-Only used before 0.7.0:
-* addr.dat: peer IP address database (BDB); replaced by peers.dat in 0.7.0
diff --git a/doc/readme-qt.md b/doc/readme-qt.md
deleted file mode 100644
index 083db32794..0000000000
--- a/doc/readme-qt.md
+++ /dev/null
@@ -1,128 +0,0 @@
-Bitcoin-Qt Readme
-===============================
-Contains build and configuration instructions for Bitcoin-Qt (Qt4 GUI for Bitcoin).
-
-Build Instructions
----------------------
-
-### Debian
-
-
-First, make sure that the required packages for Qt4 development of your
-distribution are installed, these are
-
-
-
-for Debian and Ubuntu <= 11.10 :
-
-
- apt-get install qt4-qmake libqt4-dev build-essential libboost-dev libboost-system-dev \
- libboost-filesystem-dev libboost-program-options-dev libboost-thread-dev \
- libssl-dev libdb4.8++-dev
-
-for Ubuntu >= 12.04 (please read the 'Berkely DB version warning' below):
-
- apt-get install qt4-qmake libqt4-dev build-essential libboost-dev libboost-system-dev \
- libboost-filesystem-dev libboost-program-options-dev libboost-thread-dev \
- libssl-dev libdb++-dev libminiupnpc-dev
-
-For Qt 5 you need the following, otherwise you get an error with lrelease when running qmake:
-
-
- apt-get install qt5-qmake libqt5gui5 libqt5core5 libqt5dbus5 qttools5-dev-tools
-
-then execute the following:
-
- qmake
- make
-
-Alternatively, install [Qt Creator](http://qt-project.org/downloads/) and open the `bitcoin-qt.pro` file.
-An executable named `bitcoin-qt` will be built.
-
-
-
-### Mac OS X
-
-* Download and install the [Qt Mac OS X SDK](https://qt-project.org/downloads). It is recommended to also install Apple's Xcode with UNIX tools.
-* Download and install either [MacPorts](https://www.macports.org/) or [HomeBrew](http://mxcl.github.io/homebrew/).
-* Execute the following commands in a terminal to get the dependencies using MacPorts
-
- sudo port selfupdate
- sudo port install boost db48 miniupnpc
-
-* Execute the following commands in a terminal to get the dependencies using HomeBrew:
-
- brew update
- brew install boost miniupnpc openssl berkeley-db4
-
-- If using HomeBrew, edit `bitcoin-qt.pro` to account for library location differences. There's a diff in `contrib/homebrew/bitcoin-qt-pro.patch` that shows what you need to change, or you can just patch by doing
-
- patch -p1 < contrib/homebrew/bitcoin.qt.pro.patch
-
-- Open the bitcoin-qt.pro file in Qt Creator and build as normal (cmd+B)
-
-
-Build Configuration Options
----------------------
-
-### UPnP port forwarding
-
-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:
-
-
-
- qmake "USE_UPNP=1"
-
-(in **Qt Creator**, you can find the setting for additional qmake arguments under "Projects" -> "Build Settings" -> "Build Steps", then click "Details" next to **qmake**)
-
-This requires miniupnpc for UPnP port mapping. It can be downloaded from [here](
-http://miniupnp.tuxfamily.org/files/). UPnP support is not compiled in by default.
-
-Set USE_UPNP to a different value to control this:
-
-
- USE_UPNP=- no UPnP support, miniupnpc not required;
- USE_UPNP=0 (the default) built with UPnP, support turned off by default at runtime;
- USE_UPNP=1 build with UPnP support turned on by default at runtime.
-
-### Notification support for recent (k)ubuntu versions
-
-To see desktop notifications on (k)ubuntu versions starting from 10.04, enable usage of the
-FreeDesktop notification interface through DBUS using the following qmake option:
-
-
-
- qmake "USE_DBUS=1"
-
-### Generation of QR codes
-
-[libqrencode](http://fukuchi.org/works/qrencode/) may be used to generate QRCode images for payment requests. Pass the USE_QRCODE flag to qmake to control this:
-
-
- USE_QRCODE=0 (the default) No QRCode support - libarcode not required
- USE_QRCODE=1 QRCode support enabled
-
-Warnings
----------------------
-
-### Berkely DB Version Warning
-
-
-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**).
-
-The static binary version of Bitcoin is linked against libdb4.8 (see also [this Debian issue](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=621425)).
-
-Now the nasty thing is that databases from 5.X are not compatible with 4.X.
-
-If the globally installed development package of Berkely DB installed on your system is 5.X, any source you build yourself will be linked against that. The first time you run with a 5.X version the database will be upgraded, and 4.X cannot open the new format. This means that you cannot go back to the old statically linked version without significant hassle!
-
-### Ubuntu 11.10 Warning
-
-
-Ubuntu 11.10 has a package called 'qt-at-spi' installed by default. At the time of writing, having that package installed causes bitcoin-qt to crash intermittently. The issue has been reported as [launchpad bug 857790](https://bugs.launchpad.net/ubuntu/+source/qt-at-spi/+bug/857790), but
-isn't yet fixed.
-
-Until the bug is fixed, you can remove the qt-at-spi package to work around the problem, though this will presumably disable screen reader functionality for Qt apps:
-
- sudo apt-get remove qt-at-spi
-
diff --git a/doc/release-process.md b/doc/release-process.md
index 7b0a73a81e..9e0b860a8c 100644
--- a/doc/release-process.md
+++ b/doc/release-process.md
@@ -31,26 +31,34 @@ Release Process
export SIGNER=(your gitian key, ie bluematt, sipa, etc)
export VERSION=(new version, e.g. 0.8.0)
+ pushd ./bitcoin
+ git checkout v${VERSION}
+ popd
pushd ./gitian-builder
Fetch and build inputs: (first time, or when dependency versions change)
mkdir -p inputs; cd inputs/
wget 'http://miniupnp.free.fr/files/download.php?file=miniupnpc-1.6.tar.gz' -O miniupnpc-1.6.tar.gz
- wget 'http://www.openssl.org/source/openssl-1.0.1c.tar.gz'
+ wget 'https://www.openssl.org/source/openssl-1.0.1c.tar.gz'
wget 'http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz'
- wget 'http://zlib.net/zlib-1.2.6.tar.gz'
- wget 'ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng-1.5.9.tar.gz'
- wget 'http://fukuchi.org/works/qrencode/qrencode-3.2.0.tar.bz2'
- wget 'http://downloads.sourceforge.net/project/boost/boost/1.50.0/boost_1_50_0.tar.bz2'
- wget 'http://releases.qt-project.org/qt4/source/qt-everywhere-opensource-src-4.8.3.tar.gz'
+ wget 'ftp://ftp.simplesystems.org/pub/libpng/png/src/history/zlib/zlib-1.2.6.tar.gz'
+ wget 'ftp://ftp.simplesystems.org/pub/libpng/png/src/history/libpng15/libpng-1.5.9.tar.gz'
+ wget 'https://fukuchi.org/works/qrencode/qrencode-3.2.0.tar.bz2'
+ wget 'https://downloads.sourceforge.net/project/boost/boost/1.54.0/boost_1_54_0.tar.bz2'
+ wget 'https://svn.boost.org/trac/boost/raw-attachment/ticket/7262/boost-mingw.patch' -O \
+ boost-mingw-gas-cross-compile-2013-03-03.patch
+ wget 'https://download.qt-project.org/archive/qt/4.8/4.8.3/qt-everywhere-opensource-src-4.8.3.tar.gz'
+ wget 'https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.bz2'
cd ..
./bin/gbuild ../bitcoin/contrib/gitian-descriptors/boost-win32.yml
- mv build/out/boost-win32-1.50.0-gitian2.zip inputs/
- ./bin/gbuild ../bitcoin/contrib/gitian-descriptors/qt-win32.yml
- mv build/out/qt-win32-4.8.3-gitian-r1.zip inputs/
+ mv build/out/boost-win32-*.zip inputs/
./bin/gbuild ../bitcoin/contrib/gitian-descriptors/deps-win32.yml
- mv build/out/bitcoin-deps-0.0.5.zip inputs/
+ mv build/out/bitcoin-deps-*.zip inputs/
+ ./bin/gbuild ../bitcoin/contrib/gitian-descriptors/qt-win32.yml
+ mv build/out/qt-win32-*.zip inputs/
+ ./bin/gbuild ../bitcoin/contrib/gitian-descriptors/protobuf-win32.yml
+ mv build/out/protobuf-win32-*.zip inputs/
Build bitcoind and bitcoin-qt on Linux32, Linux64, and Win32:
diff --git a/doc/tor.md b/doc/tor.md
index 86d56cffd5..41dd71209f 100644
--- a/doc/tor.md
+++ b/doc/tor.md
@@ -21,8 +21,8 @@ outgoing connections be anonimized, but more is possible.
-proxy=ip:port Set the proxy server. If SOCKS5 is selected (default), this proxy
server will be used to try to reach .onion addresses as well.
- -tor=ip:port Set the proxy server to use for tor hidden services. You do not
- need to set this if it's the same as -proxy. You can use -notor
+ -onion=ip:port Set the proxy server to use for tor hidden services. You do not
+ need to set this if it's the same as -proxy. You can use -noonion
to explicitly disable access to hidden service.
-listen When using -proxy, listening is disabled by default. If you want
@@ -48,6 +48,7 @@ config file):
HiddenServiceDir /var/lib/tor/bitcoin-service/
HiddenServicePort 8333 127.0.0.1:8333
+ HiddenServicePort 18333 127.0.0.1:18333
The directory can be different of course, but (both) port numbers should be equal to
your bitcoind's P2P listen port (8333 by default).
@@ -85,5 +86,5 @@ and open port 8333 on your firewall (or use -upnp).
If you only want to use Tor to reach onion addresses, but not use it as a proxy
for normal IPv4/IPv6 communication, use:
- ./bitcoin -tor=127.0.0.1:9050 -externalip=57qr3yd1nyntf5k.onion -discover
+ ./bitcoin -onion=127.0.0.1:9050 -externalip=57qr3yd1nyntf5k.onion -discover
diff --git a/doc/translation_process.md b/doc/translation_process.md
index 1724e95378..006726b953 100644
--- a/doc/translation_process.md
+++ b/doc/translation_process.md
@@ -32,14 +32,13 @@ This directory contains all translations. Filenames must adhere to this format:
`src/qt/locale/bitcoin_en.ts` is treated in a special way. It is used as the
source for all other translations. Whenever a string in the code is changed
-this file must be updated to reflect those changes. This can be accomplished
-by running `lupdate` (included in the Qt SDK). Also, a custom script is used
+this file must be updated to reflect those changes. A custom script is used
to extract strings from the non-Qt parts. This script makes use of `gettext`,
so make sure that utility is installed (ie, `apt-get install gettext` on
-Ubuntu/Debian):
-
- python share/qt/extract_strings_qt.py
- lupdate bitcoin-qt.pro -no-obsolete -locations relative -ts src/qt/locale/bitcoin_en.ts
+Ubuntu/Debian). Once this has been updated, lupdate (included in the Qt SDK)
+is used to update bitcoin_en.ts. This process has been automated, from src/qt,
+simply run:
+ make translate
##### Handling of plurals in the source file
diff --git a/doc/unit-tests.md b/doc/unit-tests.md
index d6fb2d8e2d..2c991eb03a 100644
--- a/doc/unit-tests.md
+++ b/doc/unit-tests.md
@@ -1,35 +1,18 @@
-Compiling/running bitcoind unit tests
+Compiling/running unit tests
------------------------------------
-bitcoind unit tests are in the `src/test/` directory; they
-use the Boost::Test unit-testing framework.
+Unit tests will be automatically compiled if dependencies were met in configure
+and tests weren't explicitly disabled.
-To compile and run the tests:
+After configuring, they can be run with 'make check'.
- cd src
- make -f makefile.unix test_bitcoin # Replace makefile.unix if you're not on unix
- ./test_bitcoin # Runs the unit tests
+To run the bitcoind tests manually, launch src/test/test_bitcoin .
-If all tests succeed the last line of output will be:
-`*** No errors detected`
-
-To add more tests, add `BOOST_AUTO_TEST_CASE` functions to the existing
+To add more bitcoind tests, add `BOOST_AUTO_TEST_CASE` functions to the existing
.cpp files in the test/ directory or add new .cpp files that
-implement new BOOST_AUTO_TEST_SUITE sections (the makefiles are
-set up to add test/*.cpp to test_bitcoin automatically).
-
-
-Compiling/running Bitcoin-Qt unit tests
----------------------------------------
-
-Bitcoin-Qt unit tests are in the src/qt/test/ directory; they
-use the Qt unit-testing framework.
-
-To compile and run the tests:
+implement new BOOST_AUTO_TEST_SUITE sections.
- qmake bitcoin-qt.pro BITCOIN_QT_TEST=1
- make
- ./bitcoin-qt_test
+To run the bitcoin-qt tests manualy, launch src/qt/test/bitcoin-qt_test
-To add more tests, add them to the `src/qt/test/` directory,
-the `src/qt/test/test_main.cpp` file, and bitcoin-qt.pro.
+To add more bitcoin-qt tests, add them to the `src/qt/test/` directory and
+the `src/qt/test/test_main.cpp` file.