Оно задется опцией командной строки.
"\n" + _("Block creation options:") + "\n" +
" -blockminsize=<n> " + _("Set minimum block size in bytes (default: 0)") + "\n" +
" -blockmaxsize=<n> " + _("Set maximum block size in bytes (default: 250000)") + "\n" +
" -blockprioritysize=<n> " + _("Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)") + "\n" +
Эта опция нужна для размера
генерируемого именно этим кошельком блока. Вполне логично, что майнеры сами могут решать какие блоки им генерировать. Но если они уже сгенерировали блок, и он соответствует всем правилам, то остальные кошельки обязаны его принять, независимо от их настроек. А кошелек версии 0.7 отбросил правильный блок, просто потому что не смог записать его в базу.
На самом деле, все немножко сложнее. Баг проявляется не всегда, а в момент reorganize. И связан он не с самим по себе bdb, а с его настройками при инициализации. Как известно, клиент вытаскивает транзакции из отклоненных блоков в memorypool. Так вот, происходил упор в лимит количества блокировок (lk_max_locks ) в случае, если в отклоняемой цепочке блоков содержалось достаточно транзакций для этого.
Фикс довольно прост в реализации:
https://github.com/CryptoManiac/novacoin/commit/16e1262471dba899f3e9251b485abec219aec844И на данный момент доступен для всех актуальных веток клиента.