Archive for August, 2015

August 16th, 2015

Build Notes: “Manual” Stator, Ubuntu 10.04 i686

The mission: build a working “Stator” (static bitcoind) by manually applying the relevant patches to TheRealBitcoin’s v-0.5.3.1-RELEASE.

Here’s proof o’ static and (the start of) block syncing on my machine:
static bitcoind

1. You’ll need to install a few packages before getting started, assuming you don’t have them already. At the terminal (ctrl + alt + t):

sudo apt-get update
sudo apt-get install -y build-essential
sudo apt-get install -y libboost-python-dev
sudo apt-get install -y realpath
sudo apt-get install -y curl

And, of course, GPG:

sudo apt-get install -y gnupg

2. Grab TheRealBitcoin’s v0.5.3.1-RELEASE:

curl -s “http://thebitcoin.foundation/bitcoin-v0_5_3_1-RELEASE.tar.gz” -o bitcoin-v0_5_3_1-RELEASE.tar.gz

And verify its checksum, which should be exactly 5c41fe6cf286770a25bf61ab0c35747d0c760f8656754296d2e1d3c4274b5686 :

sha256sum bitcoin-v0_5_3_1-RELEASE.tar.gz

3. Unpack the release tarball:

tar -xf bitcoin-v0_5_3_1-RELEASE.tar.gz

And navigate to the new directory where you’ve unpacked it:

cd bitcoin-v0_5_3_1

4. Download the seven patches necessary for the “stator” build, along with their signatures. For the record, these are, in order:

i. asciilifeform_dnsseed_snipsnip.patch
ii. asciilifeform_orphanage_thermonuke.patch
iii. asciilifeform_tx-orphanage_amputation.patch
iv. asciilifeform_zap_hardcoded_seeds.patch
v. asciilifeform_zap_showmyip_crud.patch
vi. asciilifeform_dns_thermonyukyoolar_kleansing.patch
vii. asciilifeform_ver_now_5_4_and_irc_is_gone_and_now_must_give_ip.patch

Grab them like so:


curl -s http://therealbitcoin.org/ml/btc-dev/attachments/20150201/asciilifeform_dnsseed_snipsnip_192f7bc7c14c1d31c7b417c9cd77be51c4d255f2.patch -o asciilifeform_dnsseed_snipsnip_192f7bc7c14c1d31c7b417c9cd77be51c4d255f2.patch

curl -s http://therealbitcoin.org/ml/btc-dev/attachments/20150201/asciilifeform_dnsseed_snipsnip_0a439f9f7f5eff780116753fb9a2d62c22ee3b6b.patch.sig -o asciilifeform_dnsseed_snipsnip_0a439f9f7f5eff780116753fb9a2d62c22ee3b6b.patch.sig

curl -s http://therealbitcoin.org/ml/btc-dev/attachments/20150504/asciilifeform_orphanage_thermonuke_2d219fdd1a0da960be38797566e9c0820df11ce6.patch -o asciilifeform_orphanage_thermonuke_2d219fdd1a0da960be38797566e9c0820df11ce6.patch

curl -s http://therealbitcoin.org/ml/btc-dev/attachments/20150504/asciilifeform_orphanage_thermonuke_6f320afb2423a2892d89e855829e3915c8b7a170.patch.sig -o asciilifeform_orphanage_thermonuke_6f320afb2423a2892d89e855829e3915c8b7a170.patch.sig

curl -s http://therealbitcoin.org/ml/btc-dev/attachments/20150528/asciilifeform_tx-orphanage_amputation_6ed529e594301a791fb2f8becbe344dd2de9c45f.patch -o asciilifeform_tx-orphanage_amputation_6ed529e594301a791fb2f8becbe344dd2de9c45f.patch

curl -s http://therealbitcoin.org/ml/btc-dev/attachments/20150528/asciilifeform_tx-orphanage_amputation_f648d941eeab53e53e76516915ffdf791eff1db6.patch.sig -o asciilifeform_tx-orphanage_amputation_f648d941eeab53e53e76516915ffdf791eff1db6.patch.sig

curl -s http://therealbitcoin.org/ml/btc-dev/attachments/20150617/asciilifeform_zap_hardcoded_seeds_a367b89765d0b82ce2c7f8043f52006399a1e0b8.patch -o asciilifeform_zap_hardcoded_seeds_a367b89765d0b82ce2c7f8043f52006399a1e0b8.patch

curl -s http://therealbitcoin.org/ml/btc-dev/attachments/20150617/asciilifeform_zap_hardcoded_seeds_47aecb8514c1b73a11e6095c88664a1aa5bcebec.patch.sig -o asciilifeform_zap_hardcoded_seeds_47aecb8514c1b73a11e6095c88664a1aa5bcebec.patch.sig

curl -s http://therealbitcoin.org/ml/btc-dev/attachments/20150617/asciilifeform_zap_showmyip_crud_ebf527ba3b180b1952c4c8b5af990c1fd61e04da.patch-o asciilifeform_zap_showmyip_crud_ebf527ba3b180b1952c4c8b5af990c1fd61e04da.patch

curl -s http://therealbitcoin.org/ml/btc-dev/attachments/20150617/asciilifeform_zap_showmyip_crud_ebf527ba3b180b1952c4c8b5af990c1fd61e04da.patch -o asciilifeform_zap_showmyip_crud_ebf527ba3b180b1952c4c8b5af990c1fd61e04da.patch

curl -s http://therealbitcoin.org/ml/btc-dev/attachments/20150617/asciilifeform_zap_showmyip_crud_08b7e35ca6bba7d2ef7e7aaac89579cbfa1ec90f.patch.sig -o asciilifeform_zap_showmyip_crud_08b7e35ca6bba7d2ef7e7aaac89579cbfa1ec90f.patch.sig

curl -s http://therealbitcoin.org/ml/btc-dev/attachments/20150620/asciilifeform_dns_thermonyukyoolar_kleansing_691f046b0a66c2c80deecd8df0b42d11665b0396.patch -o asciilifeform_dns_thermonyukyoolar_kleansing_691f046b0a66c2c80deecd8df0b42d11665b0396.patch

curl -s http://therealbitcoin.org/ml/btc-dev/attachments/20150620/asciilifeform_dns_thermonyukyoolar_kleansing_5870d1ae40408e980552295abfdb38cc32f22182.patch.sig -o asciilifeform_dns_thermonyukyoolar_kleansing_5870d1ae40408e980552295abfdb38cc32f22182.patch.sig

curl -s http://therealbitcoin.org/ml/btc-dev/attachments/20150622/asciilifeform_ver_now_5_4_and_irc_is_gone_and_now_must_give_ip_ebed1af0253ef629bbef4bf2b2d1a94742a81f0e.patch -o asciilifeform_ver_now_5_4_and_irc_is_gone_and_now_must_give_ip_ebed1af0253ef629bbef4bf2b2d1a94742a81f0e.patch

curl -s http://therealbitcoin.org/ml/btc-dev/attachments/20150622/asciilifeform_ver_now_5_4_and_irc_is_gone_and_now_must_give_ip_60048a1651005a603c5387c5dfaaa6573a92ee83.patch.sig -o asciilifeform_ver_now_5_4_and_irc_is_gone_and_now_must_give_ip_60048a1651005a603c5387c5dfaaa6573a92ee83.patch.sig

5. Verify their checksums, which should match the string in the corresponding file names:


sha1sum asciilifeform_dnsseed_snipsnip_192f7bc7c14c1d31c7b417c9cd77be51c4d255f2.patch asciilifeform_dnsseed_snipsnip_0a439f9f7f5eff780116753fb9a2d62c22ee3b6b.patch.sig

sha1sum asciilifeform_orphanage_thermonuke_2d219fdd1a0da960be38797566e9c0820df11ce6.patch asciilifeform_orphanage_thermonuke_6f320afb2423a2892d89e855829e3915c8b7a170.patch.sig

sha1sum asciilifeform_tx-orphanage_amputation_6ed529e594301a791fb2f8becbe344dd2de9c45f.patch asciilifeform_tx-orphanage_amputation_f648d941eeab53e53e76516915ffdf791eff1db6.patch.sig

sha1sum asciilifeform_zap_hardcoded_seeds_a367b89765d0b82ce2c7f8043f52006399a1e0b8.patch asciilifeform_zap_hardcoded_seeds_47aecb8514c1b73a11e6095c88664a1aa5bcebec.patch.sig

sha1sum asciilifeform_zap_showmyip_crud_ebf527ba3b180b1952c4c8b5af990c1fd61e04da.patch asciilifeform_zap_showmyip_crud_08b7e35ca6bba7d2ef7e7aaac89579cbfa1ec90f.patch.sig

sha1sum asciilifeform_zap_showmyip_crud_08b7e35ca6bba7d2ef7e7aaac89579cbfa1ec90f.patch.sig asciilifeform_zap_showmyip_crud_08b7e35ca6bba7d2ef7e7aaac89579cbfa1ec90f.patch.sig

sha1sum asciilifeform_dns_thermonyukyoolar_kleansing_691f046b0a66c2c80deecd8df0b42d11665b0396.patch asciilifeform_dns_thermonyukyoolar_kleansing_5870d1ae40408e980552295abfdb38cc32f22182.patch.sig

sha1sum asciilifeform_ver_now_5_4_and_irc_is_gone_and_now_must_give_ip_ebed1af0253ef629bbef4bf2b2d1a94742a81f0e.patch asciilifeform_ver_now_5_4_and_irc_is_gone_and_now_must_give_ip_60048a1651005a603c5387c5dfaaa6573a92ee83.patch.sig

6. Now verify the signatures. If you don’t already have the patch author‘s public key (gpg --list-keys), grab it with:

gpg –keyserver pool.sks-keyservers.net –recv-keys 0xB98228A001ABFFC7

Then,


gpg --verify asciilifeform_dnsseed_snipsnip_0a439f9f7f5eff780116753fb9a2d62c22ee3b6b.patch.sig asciilifeform_dnsseed_snipsnip_192f7bc7c14c1d31c7b417c9cd77be51c4d255f2.patch

gpg --verify asciilifeform_orphanage_thermonuke_6f320afb2423a2892d89e855829e3915c8b7a170.patch.sig asciilifeform_orphanage_thermonuke_2d219fdd1a0da960be38797566e9c0820df11ce6.patch

gpg --verify asciilifeform_tx-orphanage_amputation_f648d941eeab53e53e76516915ffdf791eff1db6.patch.sig asciilifeform_tx-orphanage_amputation_6ed529e594301a791fb2f8becbe344dd2de9c45f.patch

gpg --verify asciilifeform_zap_hardcoded_seeds_47aecb8514c1b73a11e6095c88664a1aa5bcebec.patch.sig asciilifeform_zap_hardcoded_seeds_a367b89765d0b82ce2c7f8043f52006399a1e0b8.patch

gpg --verify asciilifeform_zap_showmyip_crud_08b7e35ca6bba7d2ef7e7aaac89579cbfa1ec90f.patch.sig asciilifeform_zap_showmyip_crud_ebf527ba3b180b1952c4c8b5af990c1fd61e04da.patch

gpg --verify asciilifeform_dns_thermonyukyoolar_kleansing_5870d1ae40408e980552295abfdb38cc32f22182.patch.sig asciilifeform_dns_thermonyukyoolar_kleansing_691f046b0a66c2c80deecd8df0b42d11665b0396.patch

gpg --verify asciilifeform_ver_now_5_4_and_irc_is_gone_and_now_must_give_ip_60048a1651005a603c5387c5dfaaa6573a92ee83.patch.sig asciilifeform_ver_now_5_4_and_irc_is_gone_and_now_must_give_ip_ebed1af0253ef629bbef4bf2b2d1a94742a81f0e.patch

7. Now the actual patching can begin:


patch -p1 -d bitcoin < asciilifeform_dnsseed_snipsnip_192f7bc7c14c1d31c7b417c9cd77be51c4d255f2.patch
patch -p1 < asciilifeform_orphanage_thermonuke_2d219fdd1a0da960be38797566e9c0820df11ce6.patch
patch -p1 < asciilifeform_tx-orphanage_amputation_6ed529e594301a791fb2f8becbe344dd2de9c45f.patch
patch -p1 < asciilifeform_zap_hardcoded_seeds_a367b89765d0b82ce2c7f8043f52006399a1e0b8.patch
patch -p1 < asciilifeform_zap_showmyip_crud_ebf527ba3b180b1952c4c8b5af990c1fd61e04da.patch
patch -p1 < asciilifeform_dns_thermonyukyoolar_kleansing_691f046b0a66c2c80deecd8df0b42d11665b0396.patch
patch -p1 < asciilifeform_ver_now_5_4_and_irc_is_gone_and_now_must_give_ip_ebed1af0253ef629bbef4bf2b2d1a94742a81f0e.patch

8. If you're on a 32-bit machine, you'll drop in mod6's special script. If your machine is 64-bit, you do not need to do this; skip to Step 9. If you're not sure, type in uname -a; if you don't see x86_64 you'll most likely need this):

First get mod6's public key if you don't have it already:

gpg --keyserver pool.sks-keyservers.net --recv-keys 0x721705A8B71EADAF

Then:

rm auto.sh
curl -s http://therealbitcoin.org/ml/btc-dev/attachments/20150324/auto_ceb41c9c8cd557372a579f7926c95956b3956876.sh -o auto.sh
curl -s http://therealbitcoin.org/ml/btc-dev/attachments/20150324/auto_3edd38ef98c0f4ebf7a9939d1c06d8d6736f0af3.sh.sig -o auto.sh.sig

And verify the checksums:

sha1sum auto.sh auto.sh.sig

auto.sh should be: ceb41c9c8cd557372a579f7926c95956b3956876
auto.sh.sig should be: 3edd38ef98c0f4ebf7a9939d1c06d8d6736f0af3

And the gpg signature:

gpg --verify auto.sh.sig

9. Change the permissions on the script:

chmod 0755 auto.sh

10. Run the script:

auto.sh

And let it be for a while. On my old thinkpad with a sluggish connection this takes around two hours.

When it's finished, make sure you're still in bitcoin-v0_5_3_1 (if not, cd there), and try:

ldd bitcoin/src/bitcoind

and

readelf --dynamic bitcoin/src/bitcoind

You want these to return "not a dynamic executable" and "There is no dynamic section in this file." respectively. Mine spits out "/usr/bin/ldd: line 161: /lib64/ld-linux-x86-64.so.2: cannot execute binary file not a dynamic executable" for the first line, but as far as I know this is harmless.

Note that when you run bitcoind you'll need to add the options ./bitcoind -myip=111.111.111.111 -addnode=10.0.0.10 (your ip, and what you'd like to connect to, eg #bitcoin-assets' "dulap" (195.211.154.159) or "zoolag" (96.241.120.166).

August 2nd, 2015

Line betting on BitBet, July 2015

Report 16. August 2nd, 2015

GPG signed statement
Accounting url: bitbet.us stats/18bCNXjdT2NUjcip6KdbFR5EEFAu3oTgTq

Total wagers made: 0; all time: 801 (2x wagers on 40 bets)
Total wagered: 0 BTC; all time: 40 BTC
Total bets resolved: 2; all time: 342
Total calls won: 2; all time: 26
Total calls lost: 0; all time: 8
Total calls pending: 6 (12 wagers on 6 bets)
Total amount won: 2.0569229, less 2 BTC resolved wagers, for a period gain of .0569229; to date, 30.94640336 won less 34 BTC resolved wagers, for an all-time loss of 3.05359664.

Outstanding wagers: 6 BTC

Notes: A snooze of a month. The win on a Yes was a thing to behold, given BitBet’s strong inclination towards props that end on the red side of things. Of course, 1133‘s “win” ate well into the prize, cementing that note in April’s report about the danger of being too short on the right side. I’m pleased so far with the improvement of precision in wagers, even if they’ve yet to wipe out that ugly ATL.
***

  1. Note: this figure showed one wager too many in June and July’s reports. []
  2. Bets resolved from earlier placing periods: 1140, 1133 []