DRAFT Full "Cement" Support for TRB.
A draft vpatch for full "cement" support in TRB.
This vpatch These vpatches succeed the previous one.
draft_asciilifeform_cement_support.kv.vpatch
draft_asciilifeform_cement_support.kv.vpatch.asciilifeform.sig
revised_draft_asciilifeform_cement_support.kv.vpatch
revised_draft_asciilifeform_cement_support.kv.vpatch.asciilifeform.sig
Note that the syntax for makecement has changed, and now requires the starting as well as ending block height:
Usage:
LC_ALL="C" ./bin/bitcoind makecement 0 723000 cement_723000.txt
The loading of cement must be explicitly enabled at warmup via the -cement flag.
Cement may be loaded (if enabled as given above) at warmup via the -loadcement=filename command or via ./bitcoind loadcement filename at run time.
E.g.:
LC_ALL="C" ./bin/bitcoind -cement -loadcement=cement_723000.txt cement_723000.txt
The status of cement may be viewed via getinfo, where additional "cementstart" and "cementend" fields now appear. Cement entries are discarded after matching a valid incoming block. All such blocks are verified in the same way as other blocks.
If cement support is disabled, or it is enabled but no cement has been loaded, node functionality is unaffected.
The unloadcement command may be issued at run time, and does exactly what is printed on the tin.
Multiple cement files may be loaded, for so long as their entries' block heights are found in correct (i.e. monotonically increasing) order.
Note that per this draft patch, a node which, at a given time, is "in cement" will not attempt to advertise its inventory to peers.