/
githubmirror
/
bitcoin
Обзор
Документация
Войти
/
githubmirror
/
bitcoin
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/kernel/chainstatemanager_opts.h
58 строк
2 KB
Andrew Toth
validation: add -prevoutfetchthreads configuration option
30 июн 2026, 04:07
Не верифицирован
30 июн 2026, 04:07
5bf1c32
Код
Авторство
О чём код?
// Copyright (c) 2022-present The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #ifndef BITCOIN_KERNEL_CHAINSTATEMANAGER_OPTS_H #define BITCOIN_KERNEL_CHAINSTATEMANAGER_OPTS_H #include <kernel/notifications_interface.h> #include <arith_uint256.h> #include <dbwrapper.h> #include <script/sigcache.h> #include <txdb.h> #include <uint256.h> #include <util/time.h> #include <cstdint> #include <functional> #include <optional> class CChainParams; class ValidationSignals; static constexpr auto DEFAULT_MAX_TIP_AGE{24h}; static constexpr int32_t DEFAULT_PREVOUTFETCH_THREADS{8}; namespace kernel { /** * An options struct for `ChainstateManager`, more ergonomically referred to as * `ChainstateManager::Options` due to the using-declaration in * `ChainstateManager`. */ struct ChainstateManagerOpts { const CChainParams& chainparams; fs::path datadir; std::optional<int32_t> check_block_index{}; //! If set, it will override the minimum work we will assume exists on some valid chain. std::optional<arith_uint256> minimum_chain_work{}; //! If set, it will override the block hash whose ancestors we will assume to have valid scripts without checking them. std::optional<uint256> assumed_valid_block{}; //! If the tip is older than this, the node is considered to be in initial block download. std::chrono::seconds max_tip_age{DEFAULT_MAX_TIP_AGE}; DBOptions coins_db{}; CoinsViewOptions coins_view{}; Notifications& notifications; ValidationSignals* signals{nullptr}; //! Number of script check worker threads. Zero means no parallel verification. int worker_threads_num{0}; //! Number of worker threads used for prefetching block input prevouts. Zero means no parallel fetching. int32_t prevoutfetch_threads_num{DEFAULT_PREVOUTFETCH_THREADS}; size_t script_execution_cache_bytes{DEFAULT_SCRIPT_EXECUTION_CACHE_BYTES}; size_t signature_cache_bytes{DEFAULT_SIGNATURE_CACHE_BYTES}; }; } // namespace kernel #endif // BITCOIN_KERNEL_CHAINSTATEMANAGER_OPTS_H