[BTC-dev] EXPERIMENTAL: "makesnap"

stas@loper-os.org stas@loper-os.org
Sat Oct 20 01:47:04 -00 2018


URL: <http://therealbitcoin.org/ml/btc-dev/attachments/20181020/attachment.txt?sha1=abf3e65fce65207436a4fbb6ff8898a0b26a6d45>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

This EXPERIMENTAL patch adds a 'makesnap <height> <filename>' command
to TRB. It produces a text file, of the format:

0 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
1 00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048
2 000000006a625f06636b8bb6ac7b960a8d03705d1ace08b1a19da3fdcc99ddbd
3 0000000082b5015589a3fdf2d4baff403e6f0be035a5d9742c1cae6295464449
4 000000004ebadb55ee9096c9a2f8880e09da59c0d68b1c228da88e48844a1485
5 000000009b7262315dbf071787ad3656097b892abffd1f95a1a022f896f533fc
6 000000003031a0e73735690c5a1ff2a4be82553b2a12b776fbd3a215dc8f778d
7 0000000071966c2b1d065fd446b1e485b2c9d9594acd2007ccbd5441cfc89444
8 00000000408c48f847aa786c2268fc3e6ec2af68e8468a34a28c61b7f1de0dc6
9 000000008d9dc510f23c2657fc4f67bea30078cc05a90eb89e84cc475c080805
....

...containing on each line the height of a block in the main chain,
followed by its hash (in traditional bitcoin format); 

beginning with the genesis block, and continuing up through the
requested <height>, which can be a maximum of:

current-height - SAFE_SNAPSHOT_MARGIN

(set in knobs.h, currently 50) to avoid cementing an orphan chain
into any snapshot.

This mechanism was required by my node hunter/exerciser experiment,
but is potentially usable for the configurable-checkpoint knob
that was occasionally discussed in the past (though I would prefer
a full Keccakization of the whole binarization of each block, for
that.)

Outputs of 'makesnap' are diffable, and ought to be exactly the same,
through a given height, on all correctly-operating nodes.

Generation of a snapshot through height 546400 consumed ~40 min of
CPU time on Zoolag (a TRB node equipped with SSD disk.)

Be aware that during snapshot generation, your node is inoperative
for other purposes, it monopolizes the DB.

***

An output from zoolag: snap_546400.txt , is given, it occupies ~40MB,
and is available at:

http://nosuchlabs.com/pub/trb/snap_546400.txt

SHA512 : 326782a77b9ca1d83da6af8e28f305d5fd6c0b509507effbf50f1cd932c4e882edeb8887632664c073c8dca097145cada941490efdae6443e82bbb85a9ca1371

Keccak :
Bah, current vdiff dies with stack overflow, cannot eat 40MB!!!!


**********
*  NOTE  *
**********

This patch extends my earlier
http://therealbitcoin.org/ml/btc-dev/2018-September/000312.html
item.

**********
*WARNING!*
**********

This is still an OLD-STYLE vpatch, given as TRB has not yet formally moved
to the Keccak format. It WILL have to be reground!!!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iQEcBAEBCgAGBQJbyoiHAAoJELmCKKABq//HpcQIAIMxaXytolQjslYdIjjOCCN6
Stsql39GpdpEiUQqQYv2uExdjLqW8zTbTfiBPaE0BnWIBT3QTj59cfRAZkHJxs3l
0sKGv44xaEQrPJzjGgO8yAYYB9T6JLr2WBLJpD1esR9ZeA54qXLO1BjKCqDTbROu
NY5kfkYI82O80GX5uJ+Ti3fS+dOr7BA21hNWe+Gd9pOlRrcBRW/CLpwv6jYeS03J
x/R2L/A767sR2pwQ18oODhRK09T+GA8McGDCAXn2a0c8ZQ4DcgrQ1M5dwvEoUeU2
d5m6K1ytFeIaE+mGO0NeGn3eT+bB92x5Qq+DdPIG503lDS1/zVje5CW/SsB/61Y=
=/auT
-----END PGP SIGNATURE-----
-------------- next part --------------
A non-text attachment was scrubbed...
Name: asciilifeform_makesnap.vpatch
Type: application/octet-stream
Size: 5023 bytes
Desc: not available
URL: <http://therealbitcoin.org/ml/btc-dev/attachments/20181020/asciilifeform_makesnap.vpatch?sha1=9b4b917ad4ecb49854546c95ed4a9615aeac585d>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: asciilifeform_makesnap.vpatch.asciilifeform.sig
Type: application/octet-stream
Size: 490 bytes
Desc: not available
URL: <http://therealbitcoin.org/ml/btc-dev/attachments/20181020/asciilifeform_makesnap.vpatch.asciilifeform.sig?sha1=29d1012fbe5afe65236c0b00564517427560c68f>


More information about the BTC-dev mailing list