CatapultServer
v0.5.0.1 (Elephant)
|
Enabled, generate and validate receipts.
uint32_t TransactionElementTraceInterval
Multiple of elements at which a transaction element should be traced through queue and completion.
Definition: NodeConfiguration.h:116
std::unique_ptr< const observers::EntityObserver > CreateUndoEntityObserver(const plugins::PluginManager &manager)
Creates an undo entity observer using pluginManager.
Definition: PluginUtils.cpp:53
Requires remote peers (and entity sinks) to be registered.
chain::ExecutionConfiguration CreateExecutionConfiguration(const plugins::PluginManager &pluginManager)
Creates an execution configuration based on pluginManager.
Definition: ExecutionConfigurationFactory.cpp:27
RollbackCounterType
Rollback counter types.
Definition: RollbackStats.h:28
#define CATAPULT_LOG(SEV)
Writes a log entry to the default logger with SEV severity.
Definition: Logging.h:340
bool ShouldEnableVerifiableReceipts
true if block chain should calculate receipts so that state changes are fully verifiable at each bloc...
Definition: BlockChainConfiguration.h:42
void AddSupplementalDataResiliency(consumers::BlockChainSyncHandlers &syncHandlers, const config::CatapultDataDirectory &dataDirectory, const cache::CatapultCache &cache, const extensions::LocalNodeChainScore &score)
Updates syncHandlers to support supplemental data resiliency given dataDirectory, cache and score.
Definition: DispatcherSyncHandlers.cpp:47
void AddDispatcherCounters(ServiceLocator &locator, const std::string &dispatcherName, const std::string &counterPrefix)
Adds dispatcher counters with prefix counterPrefix to locator for a dispatcher named dispatcherName.
Definition: DispatcherUtils.cpp:43
consumers::BlockChainSyncHandlers::CommitStepFunc CreateCommitStepHandler(const config::CatapultDataDirectory &dataDirectory)
Creates a commit step handler around dataDirectory.
Definition: DispatcherSyncHandlers.cpp:31
std::shared_ptr< T > UniqueToShared(std::unique_ptr< T > &&pointer)
Converts a unique pointer to a shared pointer of the same type.
Definition: MemoryUtils.h:47
auto & cache() const
Gets the cache.
Definition: ServiceState.h:99
def debug(*args)
Definition: Parser.py:46
Block chain configuration settings.
Definition: BlockChainConfiguration.h:33
auto & stateChangeSubscriber() const
Gets the state change subscriber.
Definition: ServiceState.h:134
thread::Task CreateBatchTransactionTask(TransactionBatchRangeDispatcher &dispatcher, const std::string &name)
Creates a task with name that dispatches all transactions batched in dispatcher.
Definition: DispatcherUtils.cpp:54
DifficultyCheckerFunc DifficultyChecker
Checks all difficulties in a block chain for correctness.
Definition: BlockChainSyncHandlers.h:97
extensions::ServiceState & m_state
Definition: DispatcherService.cpp:226
Definition: ConsumerUtils.h:25
bool ShouldAbortWhenDispatcherIsFull
true if the process should terminate when any dispatcher is full.
Definition: NodeConfiguration.h:119
Catapult data directory.
Definition: CatapultDataDirectory.h:61
disruptor::ConstBlockConsumer CreateBlockChainCheckConsumer(uint32_t maxChainSize, const utils::TimeSpan &maxBlockFutureTime, const chain::TimeSupplier &timeSupplier)
Definition: BlockChainCheckConsumer.cpp:91
disruptor::ConstBlockConsumer CreateBlockStatelessValidationConsumer(const std::shared_ptr< const validators::stateless::AggregateEntityValidator > &pValidator, const std::shared_ptr< const validators::ParallelValidationPolicy > &pValidationPolicy, const RequiresValidationPredicate &requiresValidationPredicate)
Definition: StatelessValidationConsumer.cpp:65
ionet::Node Local
Definition: tools/network/main.cpp:42
static constexpr TimeSpan FromMilliseconds(uint64_t milliseconds)
Creates a time span from the given number of milliseconds.
Definition: TimeSpan.h:59
Node configuration settings.
Definition: NodeConfiguration.h:33
disruptor::DisruptorInspector CreateReclaimMemoryInspector()
Creates an inspector that reclaims memory.
Definition: ReclaimMemoryInspector.cpp:43
BlockChainProcessor Processor
Processes (validates and executes) a block chain.
Definition: BlockChainSyncHandlers.h:100
disruptor::DisruptorConsumer CreateBlockChainSyncConsumer(cache::CatapultCache &cache, state::CatapultState &state, io::BlockStorageCache &storage, uint32_t maxRollbackBlocks, const BlockChainSyncHandlers &handlers)
Definition: BlockChainSyncConsumer.cpp:296
consumers::HashCheckOptions CreateHashCheckOptions(const utils::TimeSpan &cacheDuration, const config::NodeConfiguration &nodeConfig)
Creates hash check options based on cacheDuration and nodeConfig.
Definition: DispatcherUtils.cpp:30
void save()
Adds counter to committed statistics and resets the counter.
Definition: RollbackInfo.cpp:49
void IncrementNodeInteraction(ionet::NodeContainer &nodes, const ionet::NodeInteractionResult &result)
Increments the interaction counter indicated by result in the node container (nodes).
Definition: NodeInteractionUtils.cpp:27
void reset()
Adds counter to ignored statistics and resets the counter.
Definition: RollbackInfo.cpp:42
ReceiptValidationMode
Possible receipt validation modes.
Definition: BlockChainProcessor.h:71
const char * DispatcherName
Name of the dispatcher.
Definition: ConsumerDispatcherOptions.h:39
disruptor::DisruptorConsumer CreateNewBlockConsumer(const NewBlockSink &newBlockSink, disruptor::InputSource sinkSourceMask)
disruptor::BlockConsumer CreateBlockHashCalculatorConsumer(const GenerationHash &generationHash, const model::TransactionRegistry &transactionRegistry)
Definition: HashCalculatorConsumer.cpp:72
model::MatchingEntityPredicate ToRequiresValidationPredicate(const chain::KnownHashPredicate &knownHashPredicate)
Converts a known hash predicate (knownHashPredicate) to a requires validation predicate.
Definition: PredicateUtils.cpp:28
const auto & config() const
Gets the config.
Definition: ServiceState.h:89
Consumer dispatcher options.
Definition: ConsumerDispatcherOptions.h:27
uint32_t TransactionDisruptorSize
Size of the transaction disruptor circular buffer.
Definition: NodeConfiguration.h:113
BlockChainProcessor CreateBlockChainProcessor(const BlockHitPredicateFactory &blockHitPredicateFactory, const chain::BatchEntityProcessor &batchEntityProcessor, ReceiptValidationMode receiptValidationMode)
Definition: BlockChainProcessor.cpp:190
Configuration for executing entities.
Definition: ExecutionConfiguration.h:30
disruptor::ConstBlockConsumer CreateBlockHashCheckConsumer(const chain::TimeSupplier &timeSupplier, const HashCheckOptions &options)
Definition: HashCheckConsumer.cpp:56
void increment()
Increments counter.
Definition: RollbackInfo.cpp:38
uint32_t BlockDisruptorSize
Size of the block disruptor circular buffer.
Definition: NodeConfiguration.h:107
BatchEntityProcessor CreateBatchEntityProcessor(const ExecutionConfiguration &config)
Creates a batch entity processor around config.
Definition: BatchEntityProcessor.cpp:64
const config::NodeConfiguration & m_nodeConfig
Definition: DispatcherService.cpp:227
chain::FailedTransactionSink SubscriberToSink(subscribers::TransactionStatusSubscriber &subscriber)
Converts subscriber to a sink.
Definition: DispatcherUtils.cpp:37
std::vector< DisruptorConsumer > DisruptorConsumersFromTransactionConsumers(const std::vector< TransactionConsumer > &transactionConsumers)
Maps transactionConsumers to disruptor consumers so that they can be used to create a ConsumerDispatc...
Definition: DisruptorConsumer.cpp:50
Handlers used by the block chain sync consumer.
Definition: BlockChainSyncHandlers.h:74
def info(*args)
Definition: forwardsValidation.py:12
auto & score() const
Gets the score.
Definition: ServiceState.h:114
StateChangeFunc StateChange
Called with state change info to indicate a state change.
Definition: BlockChainSyncHandlers.h:106
std::unique_ptr< const validators::stateless::AggregateEntityValidator > CreateStatelessValidator(const plugins::PluginManager &manager)
Creates an entity stateless validator using pluginManager.
Definition: PluginUtils.cpp:45
Central cache holding all sub caches.
Definition: CatapultCache.h:40
RollbackResult
Rollback results.
Definition: RollbackInfo.h:31
State that is used as part of service registration.
Definition: ServiceState.h:51
Container for both committed and ignored rollback statistics.
Definition: RollbackInfo.h:40
void UndoBlock(const model::BlockElement &blockElement, const chain::BlockExecutionContext &executionContext, UndoBlockType undoBlockType)
Undoes blockElement using the specified execution context (executionContext) for undo of specified ty...
Definition: UndoBlock.cpp:26
disruptor::TransactionConsumer CreateTransactionHashCalculatorConsumer(const GenerationHash &generationHash, const model::TransactionRegistry &transactionRegistry)
Definition: HashCalculatorConsumer.cpp:103
auto & nodes() const
Gets the nodes.
Definition: ServiceState.h:94
bool ShouldAuditDispatcherInputs
true if all dispatcher inputs should be audited.
Definition: NodeConfiguration.h:122
UndoBlockFunc UndoBlock
Undoes a block and updates a cache.
Definition: BlockChainSyncHandlers.h:103
Synchronized cache composed of stateful account information.
Definition: AccountStateCache.h:72
Definition: AuditConsumer.cpp:28
disruptor::TransactionConsumer CreateTransactionHashCheckConsumer(const chain::TimeSupplier &timeSupplier, const HashCheckOptions &options, const chain::KnownHashPredicate &knownHashPredicate)
Definition: HashCheckConsumer.cpp:107
Disabled, skip validation of receipts.
const auto & hooks() const
Gets the server hooks.
Definition: ServiceState.h:170
CommitStepFunc CommitStep
Called with the commit operation step.
Definition: BlockChainSyncHandlers.h:115
disruptor::ConstDisruptorConsumer CreateBlockChainSyncCleanupConsumer(const std::string &dataDirectory)
Creates a consumer that cleans up temporary state produced by the block chain sync consumer given dat...
Definition: BlockChainSyncCleanupConsumer.cpp:29
supplier< Timestamp > TimeSupplier
Supplies a timestamp.
Definition: ChainFunctions.h:39
std::function< validators::ValidationResult(const WeakBlockInfo &, disruptor::BlockElements &, observers::ObserverState &)> BlockChainProcessor
Definition: BlockChainProcessor.h:62
std::function< BlockHitPredicate(const cache::ReadOnlyCatapultCache &)> BlockHitPredicateFactory
A factory for creating a predicate for determining whether or not two blocks form a hit.
Definition: BlockChainProcessor.h:68
ionet::Node Node
Definition: PacketWriters.cpp:45
Definition: AddressExtractionExtension.cpp:28
disruptor::DisruptorConsumer CreateNewTransactionsConsumer(const NewTransactionsSink &newTransactionsSink)
Definition: NewTransactionsConsumer.cpp:79
std::vector< BlockConsumer > m_consumers
Definition: DispatcherService.cpp:228
size_t counter(RollbackResult rollbackResult, RollbackCounterType rollbackCounterType) const
Returns rollback counter for result (rollbackResult) and counter type (rollbackCounterType).
Definition: RollbackInfo.cpp:32
ionet::NodeInteractionResult ToNodeInteractionResult(const Key &sourcePublicKey, const disruptor::ConsumerCompletionResult &result)
Converts a consumer completion result to a node interaction result with public key sourcePublicKey.
Definition: ConsumerUtils.cpp:28
PreStateWrittenFunc PreStateWritten
Called after state change but before state written checkpoint.
Definition: BlockChainSyncHandlers.h:109
uint32_t BlockElementTraceInterval
Multiple of elements at which a block element should be traced through queue and completion.
Definition: NodeConfiguration.h:110
utils::TimeSpan CalculateFullRollbackDuration(const BlockChainConfiguration &config)
Calculates the duration of a full rollback for the block chain described by config.
Definition: BlockChainConfiguration.cpp:109
#define DECLARE_SERVICE_REGISTRAR(NAME)
Declares a service registrar entry point with NAME.
Definition: ServiceRegistrar.h:61
auto & transactionStatusSubscriber() const
Gets the transaction status subscriber.
Definition: ServiceState.h:129
DECLARE_SERVICE_REGISTRAR() Dispatcher()
Definition: DispatcherService.cpp:409
Synchronized cache composed of block difficulty information.
Definition: BlockDifficultyCache.h:45
std::shared_ptr< const ParallelValidationPolicy > CreateParallelValidationPolicy(const std::shared_ptr< thread::IoThreadPool > &pPool)
Creates a parallel validation policy using pPool for parallelization.
Definition: ParallelValidationPolicy.cpp:190
chain::UtUpdater::Throttle CreateUtUpdaterThrottle(const config::CatapultConfiguration &config)
Creates a ut updater throttle based on config.
Definition: PredicateUtils.cpp:47
const auto & pluginManager() const
Gets the plugin manager.
Definition: ServiceState.h:150
TransactionsChangeFunc TransactionsChange
Called with the hashes of confirmed transactions and the infos of reverted transactions when transact...
Definition: BlockChainSyncHandlers.h:112
disruptor::TransactionConsumer CreateTransactionStatelessValidationConsumer(const std::shared_ptr< const validators::stateless::AggregateEntityValidator > &pValidator, const std::shared_ptr< const validators::ParallelValidationPolicy > &pValidationPolicy, const chain::FailedTransactionSink &failedTransactionSink)
Definition: StatelessValidationConsumer.cpp:77
disruptor::ConstDisruptorConsumer CreateAuditConsumer(const std::string &auditDirectory)
Creates an audit consumer that saves all consumer inputs to auditDirectory.
Definition: AuditConsumer.cpp:69
A read-only overlay on top of a catapult cache.
Definition: ReadOnlyCatapultCache.h:27
A view on top of an account state cache for retrieving importances.
Definition: ImportanceView.h:29
predicate< const model::Block &, const model::Block &, const GenerationHash & > BlockHitPredicate
A predicate for determining whether or not two blocks form a hit.
Definition: BlockChainProcessor.h:65
auto timeSupplier() const
Gets the time supplier.
Definition: ServiceState.h:124
std::vector< DisruptorConsumer > DisruptorConsumersFromBlockConsumers(const std::vector< BlockConsumer > &blockConsumers)
Maps blockConsumers to disruptor consumers so that they can be used to create a ConsumerDispatcher.
Definition: DisruptorConsumer.cpp:44
size_t CheckDifficulties(const cache::BlockDifficultyCache &cache, const std::vector< const model::Block * > &blocks, const model::BlockChainConfiguration &config)
Definition: ChainUtils.cpp:57
Importance getAccountImportanceOrDefault(const Key &publicKey, Height height) const
Gets the importance for publicKey at height or a default importance if no importance is set.
Definition: ImportanceView.cpp:76