Узкий в моем приложении является созданием UTXO дб. Даже с барана диском и LevelDB, здание это занимает около 1 часа для текущего blockchain. Для сравнения, верификация сценария только ~ 15 млн, потому что ЦП и легко параллелизуемый. LevelDB проводит большую часть времени, удаление и recompacting его отсортированные таблиц, потому что ТХ хэш в основном случайные.
Я не нашел способ улучшить эту часть. Это не так уж плохо, так как это делается только один раз, но до сих пор.
Почему бы вам не написать UTXO как огромный LevelDB пакетной запись (или ряд партий, в зависимости от вашего отказа терпимости без необходимости перезагрузки всего процесса)?
Помимо своей атомарностью преимуществ, WriteBatch также может быть использован для
ускорить массовые обновления, помещая много отдельных мутаций в
той же партии.