- Instance type: t2.xlarge
- vCPUs: 4
- Memory (GiB): 16
- General Purpose SSD (GP2): 200 GB
- Ubuntu
- Running in eu-central-1b (Frankfurt)
Hint: to make your life easier and allow login with a simple ssh btc-0.14, edit ~/.ssh/config:
Host btc-0.14
HostName ec2-x-x-x-x.eu-central-1.compute.amazonaws.com
User ubuntu
IdentityFile ~/.ssh/the-key-amazon-gave-you.pemThe last patch version of each minor release, down to 0.5 (late 2011)
- v0.15.0rc3
- v0.14.2
- v0.13.2
- v0.12.1
- v0.11.2
- v0.10.3
- v0.9.3
- v0.8.6
- v0.7.2: stuck at 364,670
- v0.6.3: stuck at 329,998
- v0.5.3: sync stuck at 332,150
- v0.4.0: can't compile
- v0.3.24: can't compile
Instructions taken from various sites. There might be some superfluous stuff.
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install build-essential autoconf libboost-all-dev libssl-dev libtool pkg-config libevent-devI didn't run apt-get upgrade for the 0.14 and 0.13 runs.
sudo apt-get install libdb++-dev libminiupnpc-dev
I was not able to get these to work. They require some old version of WxWidgets.
git clone https://github.com/bitcoin/bitcoin.git
cd bitcoin
git checkout v0.14.2./autogen.sh
./configure --disable-wallet --disable-bench --disable-tests --without-gui
make
sudo make install./autogen.sh
./configure --disable-wallet --enable-experimental-asm
make
sudo make install./autogen.sh
./configure --disable-wallet
make
sudo make installIf you use these older clients with a modern version of OpenSLL, syncing the blockchain . Thanks goes to Pieter Wuille for pointing that out.
Open src/key.cpp and replace everything inside the CKey::Verify function brackets with this new version.
I got great help through stack exchange.
Edit rpcrawtransaction.cpp and change:
const CScriptID& hash = boost::get<const CScriptID&>(address);To:
const CScriptID& hash = boost::get<CScriptID>(address);Run make:
cd src/
make -f makefile.unix Instead of src/key.cpp, edit src/key.h. The function is called bool Verify here.
I saved this as check.sh:
while sleep 10
do
BLOCKS=$(bitcoin-cli getblockcount)
echo "Block $BLOCKS of 473879..."
if [ "$BLOCKS" -gt "473879" ]; then
echo "Synced."
date
break
fi
donechmod +x check.shIn the above script, replace bitcoin-cli with ./bitcoind.
mkdir ~/.bitcoin
Add a file ~/.bitcoin/DB_CONFIG as per these instructions:
set_lg_dir database
set_lk_max_locks 537000
I set -dbcache=8000 (8 GB).
I'm using assumevalid=0 to force it to validate all signatures. I'm more interested in comparing performance on an ongoing basis than the initial sync.
bitcoind -assumevalid=0 -dbcache=8000 -daemonbitcoind -dbcache=8000 -daemonFollow the instructions you get in the error message when you first run bitcoind, to create a config file.
vim ~/.bitcoin/bitcoin.conf
# paste in the suggested settings
chmod 500 ~/.bitcoin/bitcoin.confIgnore the URGENT: Alert key compromised, upgrade required error returned by bitcoin-cli getinfo. :-)
./bitcoind -dbcache=8000 -daemondateNote the starting time.
screen
./check.sh Use ctrl + a, ctrl + d to leave screen and keep the script running. Come back later, using screen -r.
Note the end time.