The main module of a Hedera consensus node is the hedera-app
module. This module depends on all other modules,
and no other modules depend on it. This module contains the main entrypoint of the application which is the Hedera
class. This module is responsible for application lifecycle, interfacing with the hashgraph platform, managing the
gRPC or other server processes, constructing and managing the lifecycle of service plugins, generating record streams,
and all other core application tasks. Each of these is broken into a separate package within the module.
The follow packages contain implementation details:
fee
: An implementation ofFeeAccumulator
and other fee engine componentsgrpc
: Components for handling gRPCrecord
: TheRecordStreamManager
is here, along with an implementation of theRecordBuilder
interfacesstate
: Classes that implement the SPI interfaces for states, and all things related to merkle treesthrottle
: The implementation of theThrottleAccumulator
and the throttle engineworkflows
: Classes for the various workflows such asTransactionWorkflow
,QueryWorkflow
,IngestWorkflow
, etc.special_files
: Reference of special files such as the address book, properties, and exchange rates