Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installer tweaks #210

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions extras/blockchain/README.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
Forum thread on BitcoinTalk:
https://bitcointalk.org/index.php?topic=145386.0

Bitcoin-Qt/bitcoind version 0.7.1 and later supports a special import feature: If the file "bootstrap.dat" is found in the bitcoin data directory, it will validate and import all blockchain data found in that file. The following torrent presents a bootstrap.dat file for that feature.

----------------------
What is bootstrap.dat?

It is a flat, binary file containing bitcoin blockchain data, from the genesis block through a recent height.

Versions 0.7.1+ automatically validates and imports a file in the data directory named "bootstrap.dat".

Special note: Version prior to 0.8.0 have a bug which will only import 2G of data from a file. This is fixed in 0.8.0.

------------------------
Who wants bootstrap.dat?

Anyone bringing up a new node using the reference client. This is one method of accelerating the initial blockchain download process, while helping the bitcoin P2P network by offloading data download traffic from public P2P nodes.

This download is not for those who are already running the bitcoin client.

---------------------------------------
How often will this torrent be updated?

Assuming this project is deemed useful and worth continuing... the torrent will be updated once every few months, when the checkpoints are updated in the reference client source code.

--------------------------------------
Why not update the torrent more often?

A torrent works best when it is a large, static dataset that changes infrequently. That maximizes the ability to seed the data, enabling even part-timer seeders to contribute meaningfully. Less frequent changes also minimizes the risk that a malicious torrent will appear, with a long, malicious side chain. The current policy only updates the torrent after blocks are buried many thousands deep in the chain.

-----------------------
Why should I trust you?

You don't have to: This data is raw block chain data. The client will verify this data during import.

Independent third parties may generate their own bootstrap.dat, up to a recent height, and verify that the sha256sum matches that posted above. The file format is simple and publicly known:

<4-byte pchMessageStart><32-bit length><CBlock, serialized in network wire format>

----------------------------------------
How can I help? Do you need more seeds?

Yes, we need as many long term seeds as possible. This ensures we can meet torrent download demand immediately at high speeds, and remain idle the remainder of the time.
Binary file added extras/blockchain/bootstrap.dat.torrent
Binary file not shown.
Binary file added extras/blockchain/bootstrap.dat.torrent.gpg
Binary file not shown.
26 changes: 26 additions & 0 deletions extras/blockchain/bootstrap.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512


Torrent info hash: cb7caf0b4c0ee266cce5fbd8f8ba3903f5efa82e
Torrent magnet link:
magnet:?xt=urn:btih:cb7caf0b4c0ee266cce5fbd8f8ba3903f5efa82e&dn=bootstrap.dat&tr=udp://tracker.openbittorrent.com:80&tr=udp://tracker.publicbt.com:80&tr=udp://tracker.ccc.de:80&tr=udp://tracker.istole.it:80

Block height: 295000
Filename: bootstrap.dat
Byte size: 17522056398
SHA1: 78a4b41ba7ed823c78cd9ca81a6de393c0ccc226
SHA256: f451257f4e22e83dd49756b368b5b97dc1f92d31fa6dc114a0a9a69442490f4c

-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
Comment: GPGTools - http://gpgtools.org

iQEcBAEBCgAGBQJTTBXaAAoJEL8a4JGi25zKLdAH/325k2O2bgaw24xeAT/huOqV
3+b9p4CZJJm6jDUoqGv2AbZ/dKNeKdU1b5dhKwbmlH2j65udeG9nScaiDgsxYEWM
pYf/7zfxAxzBuY15ILi9iHRXfeVrNgFMtrQZAvLEaejDV04zvMRTslSqZ0eZg8Mn
M6tfbJqsrpQY5kamuZMg3zvXHIimzXyvnBV2A0M+fPo7b7s2hi20cyQ7nbkKTsbw
0gujASpHGusCZbmjDcS/O9GIqCoyQwrq+3uTdY2ZmLhSwxTW4Ey8rHm1vyW1VVQQ
tjAAPS+t6XxQwxW4oSLwbppmMv9FB4SS7b9sgNJ5ENH6Bdz1zpgtH0mVSHNdafs=
=6CHB
-----END PGP SIGNATURE-----
7 changes: 6 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
#! /usr/bin/python
from distutils.core import setup

try:
from setuptools import setup
except ImportError:
from distutils.core import setup

import py2exe


Expand Down
114 changes: 114 additions & 0 deletions sourcebuild/SourceBuild.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
This file addresses those distributions of Linux and strains of BSD
not addressed by the main instructions for installing Bitcoin Armory
(i.e. any system which is not Debian, Ubuntu or other Debian
derivatives). It assumes that your system already has the GNU
development tools (make, gcc, etc.) installed, along with a later
build of either Python 2.6 or 2.7. It also assumes that you possess
the necessary privileges to install software on the system (i.e. root
or sudo).

Examples will be given for Slackware 14.1 since any system which is
not Slackware can use the same files to compile relevant parts from
source (which is what Slackware's packaging system does anyway).

1) Crypto++: Check that it is not already installed on your system.

Red Hat/CentOS/Fedora users: yum list cryptopp
Slackware: ls /var/log/packages/ | grep -i cryptopp

If it is not already installed. The Red Hat brigade can try: yum
install cryptopp, but it may depend on the repositories available.

For Slackware get the source and the build scripts from
slackbuilds.org:

http://www.cryptopp.com/#download
http://slackbuilds.org/repository/14.1/libraries/cryptopp/

Extract the build scripts somewhere in /tmp/ and follow the
instructions on the slackbuilds.org site for preparing a package.
This one should just work. The result will be a Slackware package,
cryptopp-5.6.2-i486-l_SBo.txz in the /tmp directory. Install it:

installpkg /tmp/cryptopp-5.6.2-i486-l_SBo.txz

If it didn't build, or your using Red Hat and it wasn't in the
repositories, or your on BSD, Solaris or some even more obscure branch
of UNIX-like system, copy the cryptopp562.zip file to /usr/local/src
and unzip it. change to the directory it creates and run the make
install dance:

./configure --prefix=/usr/local
make
[make check or make test] # optional
make install


2) SWIG will probably already be available on most systems, it is
installed by default on Slackware. It appears to be part of
standard Red Hat systems too, at least as far back as RHEL 5.0. In
the event that you are using a system that lacks it, the configure,
make and make install dance will work here too.

Downoad it: http://www.swig.org/download.html
Extract in /usr/local/src
./configure --prefix=/usr/local
make
make install


3) PyQt from Riverbank Computing may already be on some systems.
Slackware 14.1 has it in a standard install and Red Hat appears to
have older versions available. If your system does not include
PyQt, go to the Riverbank website and follow their instructions for
installing PyQt 4.

http://www.riverbankcomputing.co.uk/software/pyqt/download


4) Everything else can be easily installed within Python itself with
the aide of PIP:

https://pip.pypa.io/en/latest/installing.html

Download the get-pip.py file and then as root run:

python get-pip.py

PIP will install setuptools if it is not already available.


5) With PIP installed, as root (or through sudo) install Twisted:

[sudo] pip install twisted

This will retrieve Twisted from https://pypi.python.org along with all
its dependencies (including zope.interface) and install them in the
Python's path (site-packages).


6) Install qt4reactor with PIP:

[sudo] pip install qt4reactor


7) Install psutil with PIP:

[sudo] pip install psutil


8) Optionally install py2exe and/or py2exe2msi and/or PyInstaller
(with pywin32 if using with Windows). All of which can be
installed with PIP except for py2exe for Python 2.x.

http://www.py2exe.org/
pip install py2exe2msi
pip install pyinstaller
http://sourceforge.net/projects/pywin32/files/


9) Learn to love PIP, your dependency resolution for all things
Pythonic. More information on PIP is available here:

https://pip.pypa.io/en/latest/installing.html