forked from bitcoin/bitcoin
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
11 changed files
with
443 additions
and
399 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
Bitcoin 0.8.2 BETA | ||
==================== | ||
|
||
Copyright (c) 2009-2013 Bitcoin Developers | ||
|
||
Distributed under the MIT/X11 software license, see the accompanying | ||
file COPYING or 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 ([[email protected]](mailto:[email protected])), 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 | ||
--------------------- | ||
You need the Qt4 run-time libraries to run Bitcoin-Qt. On Debian or Ubuntu: | ||
`sudo apt-get install libqtgui4` | ||
|
||
Unpack the files into a directory and run: | ||
|
||
- bin/32/bitcoin-qt (GUI, 32-bit) | ||
- bin/32/bitcoind (headless, 32-bit) | ||
- bin/64/bitcoin-qt (GUI, 64-bit) | ||
- bin/64/bitcoind (headless, 64-bit) | ||
|
||
See the documentation at the [Bitcoin Wiki](https://en.bitcoin.it/wiki/Main_Page) | ||
for help and more information. | ||
|
||
|
||
Other Pages | ||
--------------------- | ||
- [Unix Build Notes](build-unix.md) | ||
- [OSX Build Notes](build-osx.md) | ||
- [Windows Build Notes](build-msw.md) | ||
- [Coding Guidelines](coding.md) | ||
- [Release Process](release-process.md) | ||
- [Release Notes](release-notes.md) | ||
- [Multiwallet Qt Development](multiwallet-qt.md) | ||
- [Unit Tests](unit-tests.md) | ||
- [Translation Process](translation_process.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,9 @@ | ||
Copyright (c) 2009-2012 Bitcoin Developers | ||
Copyright (c) 2009-2013 Bitcoin Developers | ||
|
||
Distributed under the MIT/X11 software license, see the accompanying | ||
file COPYING or 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 ([email protected]) and UPnP | ||
software written by Thomas Bernard. | ||
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 ([[email protected]](mailto:[email protected])), and UPnP software written by Thomas Bernard. | ||
|
||
|
||
See readme-qt.rst for instructions on building Bitcoin-Qt, the | ||
|
@@ -30,55 +29,62 @@ Boost \boost-1.50.0-mgw http://www.boost.org/users/download/ | |
miniupnpc \miniupnpc-1.6-mgw http://miniupnp.tuxfamily.org/files/ | ||
|
||
Their licenses: | ||
OpenSSL Old BSD license with the problematic advertising requirement | ||
Berkeley DB New BSD license with additional requirement that linked software must be free open source | ||
Boost MIT-like license | ||
miniupnpc New (3-clause) BSD license | ||
|
||
OpenSSL Old BSD license with the problematic advertising requirement | ||
Berkeley DB New BSD license with additional requirement that linked software must be free open source | ||
Boost MIT-like license | ||
miniupnpc New (3-clause) BSD license | ||
|
||
Versions used in this release: | ||
OpenSSL 1.0.1c | ||
Berkeley DB 4.8.30.NC | ||
Boost 1.50.0 | ||
miniupnpc 1.6 | ||
|
||
OpenSSL 1.0.1c | ||
Berkeley DB 4.8.30.NC | ||
Boost 1.50.0 | ||
miniupnpc 1.6 | ||
|
||
|
||
OpenSSL | ||
------- | ||
MSYS shell: | ||
|
||
un-tar sources with MSYS 'tar xfz' to avoid issue with symlinks (OpenSSL ticket 2377) | ||
change 'MAKE' env. variable from 'C:\MinGW32\bin\mingw32-make.exe' to '/c/MinGW32/bin/mingw32-make.exe' | ||
|
||
cd /c/openssl-1.0.1c-mgw | ||
./config | ||
make | ||
cd /c/openssl-1.0.1c-mgw | ||
./config | ||
make | ||
|
||
Berkeley DB | ||
----------- | ||
MSYS shell: | ||
cd /c/db-4.8.30.NC-mgw/build_unix | ||
sh ../dist/configure --enable-mingw --enable-cxx | ||
make | ||
|
||
cd /c/db-4.8.30.NC-mgw/build_unix | ||
sh ../dist/configure --enable-mingw --enable-cxx | ||
make | ||
|
||
Boost | ||
----- | ||
DOS prompt: | ||
downloaded boost jam 3.1.18 | ||
cd \boost-1.50.0-mgw | ||
bjam toolset=gcc --build-type=complete stage | ||
|
||
downloaded boost jam 3.1.18 | ||
cd \boost-1.50.0-mgw | ||
bjam toolset=gcc --build-type=complete stage | ||
|
||
MiniUPnPc | ||
--------- | ||
UPnP support is optional, make with USE_UPNP= to disable it. | ||
UPnP support is optional, make with `USE_UPNP=` to disable it. | ||
|
||
MSYS shell: | ||
cd /c/miniupnpc-1.6-mgw | ||
make -f Makefile.mingw | ||
mkdir miniupnpc | ||
cp *.h miniupnpc/ | ||
|
||
cd /c/miniupnpc-1.6-mgw | ||
make -f Makefile.mingw | ||
mkdir miniupnpc | ||
cp *.h miniupnpc/ | ||
|
||
Bitcoin | ||
------- | ||
DOS prompt: | ||
cd \bitcoin\src | ||
mingw32-make -f makefile.mingw | ||
strip bitcoind.exe | ||
|
||
cd \bitcoin\src | ||
mingw32-make -f makefile.mingw | ||
strip bitcoind.exe |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,26 +1,23 @@ | ||
Copyright (c) 2009-2012 Bitcoin Developers | ||
Copyright (c) 2009-2013 Bitcoin Developers | ||
|
||
Distributed under the MIT/X11 software license, see the accompanying | ||
file COPYING or 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 ([email protected]) and UPnP | ||
software written by Thomas Bernard. | ||
|
||
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 ([[email protected]](mailto:[email protected])), and UPnP software written by Thomas Bernard. | ||
|
||
UNIX BUILD NOTES | ||
================ | ||
==================== | ||
|
||
To Build | ||
-------- | ||
--------------------- | ||
|
||
cd src/ | ||
make -f makefile.unix # Headless bitcoin | ||
cd src/ | ||
make -f makefile.unix # Headless bitcoin | ||
|
||
See readme-qt.rst for instructions on building Bitcoin-Qt, | ||
the graphical user interface. | ||
See readme-qt.rst for instructions on building Bitcoin-Qt, the graphical user interface. | ||
|
||
Dependencies | ||
------------ | ||
--------------------- | ||
|
||
Library Purpose Description | ||
------- ------- ----------- | ||
|
@@ -29,67 +26,72 @@ Dependencies | |
libboost Boost C++ Library | ||
miniupnpc UPnP Support Optional firewall-jumping support | ||
|
||
miniupnpc may be used for UPnP port mapping. It can be downloaded from | ||
http://miniupnp.tuxfamily.org/files/. UPnP support is compiled in and | ||
[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: | ||
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 | ||
|
||
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 | ||
|
||
IPv6 support may be disabled by setting: | ||
USE_IPV6=0 Disable IPv6 support | ||
|
||
USE_IPV6=0 Disable IPv6 support | ||
|
||
Licenses of statically linked libraries: | ||
Berkeley DB New BSD license with additional requirement that linked | ||
software must be free open source | ||
Boost MIT-like license | ||
miniupnpc New (3-clause) BSD license | ||
|
||
Versions used in this release: | ||
GCC 4.3.3 | ||
OpenSSL 1.0.1c | ||
Berkeley DB 4.8.30.NC | ||
Boost 1.37 | ||
miniupnpc 1.6 | ||
- Versions used in this release: | ||
- GCC 4.3.3 | ||
- OpenSSL 1.0.1c | ||
- Berkeley DB 4.8.30.NC | ||
- Boost 1.37 | ||
- miniupnpc 1.6 | ||
|
||
Dependency Build Instructions: Ubuntu & Debian | ||
---------------------------------------------- | ||
Build requirements: | ||
sudo apt-get install build-essential | ||
sudo apt-get install libssl-dev | ||
|
||
sudo apt-get install build-essential | ||
sudo apt-get install libssl-dev | ||
|
||
for Ubuntu 12.04: | ||
sudo apt-get install libboost-all-dev | ||
|
||
db4.8 packages are available at: | ||
https://launchpad.net/~bitcoin/+archive/bitcoin | ||
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, | ||
but using these will break binary wallet compatibility, and is not recommended. | ||
|
||
for other Ubuntu & Debian: | ||
sudo apt-get install libdb4.8-dev | ||
sudo apt-get install libdb4.8++-dev | ||
sudo apt-get install libboost1.37-dev | ||
|
||
sudo apt-get install libdb4.8-dev | ||
sudo apt-get install libdb4.8++-dev | ||
sudo apt-get install libboost1.37-dev | ||
(If using Boost 1.37, append -mt to the boost libraries in the makefile) | ||
|
||
Optional: | ||
sudo apt-get install libminiupnpc-dev (see USE_UPNP compile flag) | ||
|
||
sudo apt-get install libminiupnpc-dev (see USE_UPNP compile flag) | ||
|
||
|
||
Dependency Build Instructions: Gentoo | ||
------------------------------------- | ||
|
||
Note: If you just want to install bitcoind on Gentoo, you can add the Bitcoin | ||
overlay and use your package manager: | ||
layman -a bitcoin && emerge bitcoind | ||
Note: If you just want to install bitcoind on Gentoo, you can add the Bitcoin overlay and use your package manager: | ||
|
||
emerge -av1 --noreplace boost glib openssl sys-libs/db:4.8 | ||
layman -a bitcoin && emerge bitcoind | ||
emerge -av1 --noreplace boost glib openssl sys-libs/db:4.8 | ||
|
||
Take the following steps to build (no UPnP support): | ||
cd ${BITCOIN_DIR}/src | ||
make -f makefile.unix USE_UPNP= USE_IPV6=1 BDB_INCLUDE_PATH='/usr/include/db4.8' | ||
strip bitcoind | ||
|
||
cd ${BITCOIN_DIR}/src | ||
make -f makefile.unix USE_UPNP= USE_IPV6=1 BDB_INCLUDE_PATH='/usr/include/db4.8' | ||
strip bitcoind | ||
|
||
|
||
Notes | ||
|
@@ -100,26 +102,28 @@ symbols, which reduces the executable size by about 90%. | |
|
||
miniupnpc | ||
--------- | ||
tar -xzvf miniupnpc-1.6.tar.gz | ||
cd miniupnpc-1.6 | ||
make | ||
sudo su | ||
make install | ||
tar -xzvf miniupnpc-1.6.tar.gz | ||
cd miniupnpc-1.6 | ||
make | ||
sudo su | ||
make install | ||
|
||
|
||
Berkeley DB | ||
----------- | ||
You need Berkeley DB 4.8. If you have to build Berkeley DB yourself: | ||
../dist/configure --enable-cxx | ||
make | ||
|
||
../dist/configure --enable-cxx | ||
make | ||
|
||
|
||
Boost | ||
----- | ||
If you need to build Boost yourself: | ||
sudo su | ||
./bootstrap.sh | ||
./bjam install | ||
|
||
sudo su | ||
./bootstrap.sh | ||
./bjam install | ||
|
||
|
||
Security | ||
|
@@ -138,10 +142,12 @@ exploit even if a vulnerability is found, you can take the following measures: | |
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 | ||
|
||
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 | ||
|
||
scanelf -e ./bitcoin | ||
|
||
The output should contain: | ||
TYPE | ||
|
@@ -155,10 +161,10 @@ exploit even if a vulnerability is found, you can take the following measures: | |
executable without the non-executable stack protection. | ||
|
||
To verify that the stack is non-executable after compiling use: | ||
scanelf -e ./bitcoin | ||
`scanelf -e ./bitcoin` | ||
|
||
the output should contain: | ||
STK/REL/PTL | ||
RW- R-- RW- | ||
STK/REL/PTL | ||
RW- R-- RW- | ||
|
||
The STK RW- means that the stack is readable and writeable but not executable. |
Oops, something went wrong.