Documentation ¶
Index ¶
- type APIPackageConfig
- type ActivationRoundByName
- type AdditionalConnectionsConfig
- type AntifloodConfig
- type AntifloodDebugConfig
- type AntifloodLimitsConfig
- type ApiLoggingConfig
- type ApiRoutesConfig
- type ArwenVersionByEpoch
- type BlackListConfig
- type BlockSizeThrottleConfig
- type BuiltInFunctionsConfig
- type CacheConfig
- type Config
- type Configs
- type ConfigurationPathsHolder
- type ConsensusConfig
- type ContextFlagsConfig
- type CovalentConfig
- type DBConfig
- type DbLookupExtensionsConfig
- type DebugConfig
- type DelegationManagerSystemSCConfig
- type DelegationSystemSCConfig
- type ESDTSystemSCConfig
- type EconomicsConfig
- type ElasticSearchConfig
- type EnableEpochs
- type EndpointsThrottlersConfig
- type EpochConfig
- type EpochRewardSettings
- type EpochStartConfig
- type EpochStartDebugConfig
- type EventNotifierConfig
- type EvictionWaitingListConfig
- type ExternalConfig
- type FacadeConfig
- type FeeSettings
- type FloodPreventerConfig
- type GasLimitSetting
- type GasScheduleByEpochs
- type GasScheduleConfig
- type General
- type GeneralSettingsConfig
- type GlobalSettings
- type GovernanceSystemSCConfig
- type GovernanceSystemSCConfigActive
- type GovernanceSystemSCConfigV1
- type HardforkConfig
- type HeadersPoolConfig
- type HealthServiceConfig
- type HeartbeatConfig
- type HeartbeatV2Config
- type ImportDbConfig
- type IncreaseFactorConfig
- type InterceptorResolverDebugConfig
- type KadDhtPeerDiscoveryConfig
- type LogsAndEventsConfig
- type LogsConfig
- type MarshalizerConfig
- type MaxNodesChangeConfig
- type MetaChain
- type NTPConfig
- type NodeConfig
- type P2PConfig
- type PeerHonestyConfig
- type PeersRatingConfig
- type Preferences
- type PreferencesConfig
- type PubkeyConfig
- type QueryVirtualMachineConfig
- type RatingSteps
- type RatingValue
- type RatingsConfig
- type ResolverConfig
- type ResourceStatsConfig
- type RewardsSettings
- type RoundConfig
- type RouteConfig
- type SelectionChance
- type ShardChain
- type ShardingConfig
- type ShuffleOutDebugConfig
- type SoftwareVersionConfig
- type StakingSystemSCConfig
- type StateTriesConfig
- type StorageConfig
- type StoragePruningConfig
- type SystemSmartContractsConfig
- type TopicAntifloodConfig
- type TopicMaxMessagesConfig
- type TrieStorageManagerConfig
- type TrieSyncConfig
- type TrieSyncStorageConfig
- type TxAccumulatorConfig
- type TypeConfig
- type ValidatorStatisticsConfig
- type VersionByEpochs
- type VersionsConfig
- type VirtualMachineConfig
- type VirtualMachineGasConfig
- type VirtualMachineServicesConfig
- type WebServerAntifloodConfig
- type YearSetting
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APIPackageConfig ¶
type APIPackageConfig struct {
Routes []RouteConfig
}
APIPackageConfig holds the configuration for the routes of each package
type ActivationRoundByName ¶
ActivationRoundByName contains information related to a round activation event
type AdditionalConnectionsConfig ¶
type AdditionalConnectionsConfig struct {
MaxFullHistoryObservers uint32
}
AdditionalConnectionsConfig will hold the additional connections that will be open when certain conditions are met All these values should be added to the maximum target peer count value
type AntifloodConfig ¶
type AntifloodConfig struct { Enabled bool NumConcurrentResolverJobs int32 OutOfSpecs FloodPreventerConfig FastReacting FloodPreventerConfig SlowReacting FloodPreventerConfig PeerMaxOutput AntifloodLimitsConfig Cache CacheConfig WebServer WebServerAntifloodConfig Topic TopicAntifloodConfig TxAccumulator TxAccumulatorConfig }
AntifloodConfig will hold all p2p antiflood parameters
type AntifloodDebugConfig ¶
AntifloodDebugConfig will hold the antiflood debug configuration
type AntifloodLimitsConfig ¶
type AntifloodLimitsConfig struct { BaseMessagesPerInterval uint32 TotalSizePerInterval uint64 IncreaseFactor IncreaseFactorConfig }
AntifloodLimitsConfig will hold the maximum antiflood limits in both number of messages and total size of the messages
type ApiLoggingConfig ¶
ApiLoggingConfig holds the configuration related to API requests logging
type ApiRoutesConfig ¶
type ApiRoutesConfig struct { Logging ApiLoggingConfig APIPackages map[string]APIPackageConfig }
ApiRoutesConfig holds the configuration related to Rest API routes
type ArwenVersionByEpoch ¶
ArwenVersionByEpoch represents the Arwen version to be used starting with an epoch
type BlackListConfig ¶
type BlackListConfig struct { ThresholdNumMessagesPerInterval uint32 ThresholdSizePerInterval uint64 NumFloodingRounds uint32 PeerBanDurationInSeconds uint32 }
BlackListConfig will hold the p2p peer black list threshold values
type BlockSizeThrottleConfig ¶
BlockSizeThrottleConfig will hold the configuration for adaptive block size throttle
type BuiltInFunctionsConfig ¶
type BuiltInFunctionsConfig struct { AutomaticCrawlerAddresses []string MaxNumAddressesInTransferRole uint32 }
BuiltInFunctionsConfig holds the configuration for the built in functions
type CacheConfig ¶
type CacheConfig struct { Name string Type string Capacity uint32 SizePerSender uint32 SizeInBytes uint64 SizeInBytesPerSender uint32 Shards uint32 }
CacheConfig will map the cache configuration
type Config ¶
type Config struct { MiniBlocksStorage StorageConfig PeerBlockBodyStorage StorageConfig BlockHeaderStorage StorageConfig TxStorage StorageConfig UnsignedTransactionStorage StorageConfig RewardTxStorage StorageConfig ShardHdrNonceHashStorage StorageConfig MetaHdrNonceHashStorage StorageConfig StatusMetricsStorage StorageConfig ReceiptsStorage StorageConfig ScheduledSCRsStorage StorageConfig SmartContractsStorage StorageConfig SmartContractsStorageForSCQuery StorageConfig TrieEpochRootHashStorage StorageConfig SmartContractsStorageSimulate StorageConfig BootstrapStorage StorageConfig MetaBlockStorage StorageConfig AccountsTrieStorage StorageConfig PeerAccountsTrieStorage StorageConfig AccountsTrieCheckpointsStorage StorageConfig PeerAccountsTrieCheckpointsStorage StorageConfig EvictionWaitingList EvictionWaitingListConfig StateTriesConfig StateTriesConfig TrieStorageManagerConfig TrieStorageManagerConfig BadBlocksCache CacheConfig TxBlockBodyDataPool CacheConfig PeerBlockBodyDataPool CacheConfig TxDataPool CacheConfig UnsignedTransactionDataPool CacheConfig RewardTransactionDataPool CacheConfig TrieNodesChunksDataPool CacheConfig WhiteListPool CacheConfig WhiteListerVerifiedTxs CacheConfig SmartContractDataPool CacheConfig TrieSyncStorage TrieSyncStorageConfig EpochStartConfig EpochStartConfig AddressPubkeyConverter PubkeyConfig ValidatorPubkeyConverter PubkeyConfig Hasher TypeConfig MultisigHasher TypeConfig Marshalizer MarshalizerConfig VmMarshalizer TypeConfig TxSignMarshalizer TypeConfig TxSignHasher TypeConfig PublicKeyShardId CacheConfig PublicKeyPeerId CacheConfig PeerIdShardId CacheConfig PublicKeyPIDSignature CacheConfig PeerHonesty CacheConfig Antiflood AntifloodConfig ResourceStats ResourceStatsConfig Heartbeat HeartbeatConfig HeartbeatV2 HeartbeatV2Config ValidatorStatistics ValidatorStatisticsConfig GeneralSettings GeneralSettingsConfig Consensus ConsensusConfig StoragePruning StoragePruningConfig LogsAndEvents LogsAndEventsConfig NTPConfig NTPConfig HeadersPoolConfig HeadersPoolConfig BlockSizeThrottleConfig BlockSizeThrottleConfig VirtualMachine VirtualMachineServicesConfig BuiltInFunctions BuiltInFunctionsConfig Hardfork HardforkConfig Debug DebugConfig Health HealthServiceConfig SoftwareVersionConfig SoftwareVersionConfig DbLookupExtensions DbLookupExtensionsConfig Versions VersionsConfig Logs LogsConfig TrieSync TrieSyncConfig Resolvers ResolverConfig VMOutputCacher CacheConfig PeersRatingConfig PeersRatingConfig }
Config will hold the entire application configuration parameters
type Configs ¶
type Configs struct { GeneralConfig *Config ApiRoutesConfig *ApiRoutesConfig EconomicsConfig *EconomicsConfig SystemSCConfig *SystemSmartContractsConfig RatingsConfig *RatingsConfig PreferencesConfig *Preferences ExternalConfig *ExternalConfig P2pConfig *P2PConfig FlagsConfig *ContextFlagsConfig ImportDbConfig *ImportDbConfig ConfigurationPathsHolder *ConfigurationPathsHolder EpochConfig *EpochConfig RoundConfig *RoundConfig }
Configs is a holder for the node configuration parameters
type ConfigurationPathsHolder ¶
type ConfigurationPathsHolder struct { MainConfig string ApiRoutes string Economics string SystemSC string Ratings string Preferences string External string P2p string GasScheduleDirectoryName string Nodes string Genesis string SmartContracts string ValidatorKey string Epoch string RoundActivation string }
ConfigurationPathsHolder holds all configuration filenames and configuration paths used to start the node
type ConsensusConfig ¶
type ConsensusConfig struct {
Type string
}
ConsensusConfig holds the consensus configuration parameters
type ContextFlagsConfig ¶
type ContextFlagsConfig struct { WorkingDir string EnableGops bool SaveLogFile bool EnableLogCorrelation bool EnableLogName bool LogLevel string DisableAnsiColor bool CleanupStorage bool UseHealthService bool SessionInfoFileOutput string EnableTxIndexing bool BootstrapRoundIndex uint64 RestApiInterface string EnablePprof bool UseLogView bool ValidatorKeyIndex int EnableRestAPIServerDebugMode bool Version string ForceStartFromNetwork bool DisableConsensusWatchdog bool SerializeSnapshots bool }
ContextFlagsConfig will keep the values for the cli.Context flags
type CovalentConfig ¶
type CovalentConfig struct { Enabled bool URL string RouteSendData string RouteAcknowledgeData string }
CovalentConfig will hold the configurations for covalent indexer
type DBConfig ¶
type DBConfig struct { FilePath string Type string BatchDelaySeconds int MaxBatchSize int MaxOpenFiles int UseTmpAsFilePath bool }
DBConfig will map the database configuration
type DbLookupExtensionsConfig ¶
type DbLookupExtensionsConfig struct { Enabled bool DbLookupMaxActivePersisters uint32 MiniblocksMetadataStorageConfig StorageConfig MiniblockHashByTxHashStorageConfig StorageConfig EpochByHashStorageConfig StorageConfig ResultsHashesByTxHashStorageConfig StorageConfig ESDTSuppliesStorageConfig StorageConfig RoundHashStorageConfig StorageConfig }
DbLookupExtensionsConfig holds the configuration for the db lookup extensions
type DebugConfig ¶
type DebugConfig struct { InterceptorResolver InterceptorResolverDebugConfig Antiflood AntifloodDebugConfig ShuffleOut ShuffleOutDebugConfig EpochStart EpochStartDebugConfig }
DebugConfig will hold debugging configuration
type DelegationManagerSystemSCConfig ¶
type DelegationManagerSystemSCConfig struct { MinCreationDeposit string MinStakeAmount string ConfigChangeAddress string }
DelegationManagerSystemSCConfig defines a set of constants to initialize the delegation manager system smart contract
type DelegationSystemSCConfig ¶
type DelegationSystemSCConfig struct { MinServiceFee uint64 MaxServiceFee uint64 AddTokensWhitelistedAddress string }
DelegationSystemSCConfig defines a set of constants to initialize the delegation system smart contract
type ESDTSystemSCConfig ¶
ESDTSystemSCConfig defines a set of constant to initialize the esdt system smart contract
type EconomicsConfig ¶
type EconomicsConfig struct { GlobalSettings GlobalSettings RewardsSettings RewardsSettings FeeSettings FeeSettings }
EconomicsConfig will hold economics config
type ElasticSearchConfig ¶
type ElasticSearchConfig struct { Enabled bool IndexerCacheSize int BulkRequestMaxSizeInBytes int URL string UseKibana bool Username string Password string EnabledIndexes []string }
ElasticSearchConfig will hold the configuration for the elastic search
type EnableEpochs ¶
type EnableEpochs struct { SCDeployEnableEpoch uint32 BuiltInFunctionsEnableEpoch uint32 RelayedTransactionsEnableEpoch uint32 PenalizedTooMuchGasEnableEpoch uint32 SwitchJailWaitingEnableEpoch uint32 SwitchHysteresisForMinNodesEnableEpoch uint32 BelowSignedThresholdEnableEpoch uint32 TransactionSignedWithTxHashEnableEpoch uint32 MetaProtectionEnableEpoch uint32 AheadOfTimeGasUsageEnableEpoch uint32 GasPriceModifierEnableEpoch uint32 RepairCallbackEnableEpoch uint32 MaxNodesChangeEnableEpoch []MaxNodesChangeConfig BlockGasAndFeesReCheckEnableEpoch uint32 StakingV2EnableEpoch uint32 StakeEnableEpoch uint32 DoubleKeyProtectionEnableEpoch uint32 ESDTEnableEpoch uint32 GovernanceEnableEpoch uint32 DelegationManagerEnableEpoch uint32 DelegationSmartContractEnableEpoch uint32 CorrectLastUnjailedEnableEpoch uint32 BalanceWaitingListsEnableEpoch uint32 ReturnDataToLastTransferEnableEpoch uint32 SenderInOutTransferEnableEpoch uint32 RelayedTransactionsV2EnableEpoch uint32 UnbondTokensV2EnableEpoch uint32 SaveJailedAlwaysEnableEpoch uint32 ValidatorToDelegationEnableEpoch uint32 ReDelegateBelowMinCheckEnableEpoch uint32 WaitingListFixEnableEpoch uint32 IncrementSCRNonceInMultiTransferEnableEpoch uint32 ScheduledMiniBlocksEnableEpoch uint32 ESDTMultiTransferEnableEpoch uint32 GlobalMintBurnDisableEpoch uint32 ESDTTransferRoleEnableEpoch uint32 BuiltInFunctionOnMetaEnableEpoch uint32 ComputeRewardCheckpointEnableEpoch uint32 SCRSizeInvariantCheckEnableEpoch uint32 BackwardCompSaveKeyValueEnableEpoch uint32 ESDTNFTCreateOnMultiShardEnableEpoch uint32 MetaESDTSetEnableEpoch uint32 AddTokensToDelegationEnableEpoch uint32 MultiESDTTransferFixOnCallBackOnEnableEpoch uint32 OptimizeGasUsedInCrossMiniBlocksEnableEpoch uint32 CorrectFirstQueuedEpoch uint32 CorrectJailedNotUnstakedEmptyQueueEpoch uint32 FixOOGReturnCodeEnableEpoch uint32 RemoveNonUpdatedStorageEnableEpoch uint32 DeleteDelegatorAfterClaimRewardsEnableEpoch uint32 OptimizeNFTStoreEnableEpoch uint32 CreateNFTThroughExecByCallerEnableEpoch uint32 StopDecreasingValidatorRatingWhenStuckEnableEpoch uint32 FrontRunningProtectionEnableEpoch uint32 IsPayableBySCEnableEpoch uint32 CleanUpInformativeSCRsEnableEpoch uint32 StorageAPICostOptimizationEnableEpoch uint32 TransformToMultiShardCreateEnableEpoch uint32 ESDTRegisterAndSetAllRolesEnableEpoch uint32 DoNotReturnOldBlockInBlockchainHookEnableEpoch uint32 AddFailedRelayedTxToInvalidMBsDisableEpoch uint32 SCRSizeInvariantOnBuiltInResultEnableEpoch uint32 CheckCorrectTokenIDForTransferRoleEnableEpoch uint32 DisableExecByCallerEnableEpoch uint32 FailExecutionOnEveryAPIErrorEnableEpoch uint32 ManagedCryptoAPIsEnableEpoch uint32 RefactorContextEnableEpoch uint32 CheckFunctionArgumentEnableEpoch uint32 CheckExecuteOnReadOnlyEnableEpoch uint32 HeartbeatDisableEpoch uint32 MiniBlockPartialExecutionEnableEpoch uint32 ESDTMetadataContinuousCleanupEnableEpoch uint32 FixAsyncCallBackArgsListEnableEpoch uint32 FixOldTokenLiquidityEnableEpoch uint32 }
EnableEpochs will hold the configuration for activation epochs
type EndpointsThrottlersConfig ¶
EndpointsThrottlersConfig holds a pair of an endpoint and its maximum number of simultaneous go routines
type EpochConfig ¶
type EpochConfig struct { EnableEpochs EnableEpochs GasSchedule GasScheduleConfig }
EpochConfig will hold epoch configurations
type EpochRewardSettings ¶
type EpochRewardSettings struct { LeaderPercentage float64 DeveloperPercentage float64 ProtocolSustainabilityPercentage float64 ProtocolSustainabilityAddress string TopUpGradientPoint string TopUpFactor float64 EpochEnable uint32 }
EpochRewardSettings holds the economics rewards settings for a specific epoch
type EpochStartConfig ¶
type EpochStartConfig struct { MinRoundsBetweenEpochs int64 RoundsPerEpoch int64 MinShuffledOutRestartThreshold float64 MaxShuffledOutRestartThreshold float64 MinNumConnectedPeersToStart int MinNumOfPeersToConsiderBlockValid int }
EpochStartConfig will hold the configuration of EpochStart settings
type EpochStartDebugConfig ¶
type EpochStartDebugConfig struct { GoRoutineAnalyserEnabled bool ProcessDataTrieOnCommitEpoch bool }
EpochStartDebugConfig will hold the epoch debug configuration
type EventNotifierConfig ¶
type EventNotifierConfig struct { Enabled bool UseAuthorization bool ProxyUrl string Username string Password string }
EventNotifierConfig will hold the configuration for the events notifier driver
type EvictionWaitingListConfig ¶
EvictionWaitingListConfig will hold the configuration for the EvictionWaitingList
type ExternalConfig ¶
type ExternalConfig struct { ElasticSearchConnector ElasticSearchConfig EventNotifierConnector EventNotifierConfig CovalentConnector CovalentConfig }
ExternalConfig will hold the configurations for external tools, such as Explorer or Elastic Search
type FacadeConfig ¶
FacadeConfig will hold different configuration option that will be passed to the main ElrondFacade
type FeeSettings ¶
type FeeSettings struct { GasLimitSettings []GasLimitSetting GasPerDataByte string MinGasPrice string GasPriceModifier float64 }
FeeSettings will hold economics fee settings
type FloodPreventerConfig ¶
type FloodPreventerConfig struct { IntervalInSeconds uint32 ReservedPercent float32 PeerMaxInput AntifloodLimitsConfig BlackList BlackListConfig }
FloodPreventerConfig will hold all flood preventer parameters
type GasLimitSetting ¶
type GasLimitSetting struct { EnableEpoch uint32 MaxGasLimitPerBlock string MaxGasLimitPerMiniBlock string MaxGasLimitPerMetaBlock string MaxGasLimitPerMetaMiniBlock string MaxGasLimitPerTx string MinGasLimit string }
GasLimitSetting will hold gas limit setting for a specific epoch
type GasScheduleByEpochs ¶
GasScheduleByEpochs represents a gas schedule toml entry that will be applied from the provided epoch
type GasScheduleConfig ¶
type GasScheduleConfig struct {
GasScheduleByEpochs []GasScheduleByEpochs
}
GasScheduleConfig represents the versioning config area for the gas schedule toml
type General ¶
type General struct { StartRating uint32 MaxRating uint32 MinRating uint32 SignedBlocksThreshold float32 SelectionChances []*SelectionChance }
General will hold ratings settings both for metachain and shardChain
type GeneralSettingsConfig ¶
type GeneralSettingsConfig struct { StatusPollingIntervalSec int MaxComputableRounds uint64 MaxConsecutiveRoundsOfRatingDecrease uint64 StartInEpochEnabled bool ChainID string MinTransactionVersion uint32 GenesisString string GenesisMaxNumberOfShards uint32 SyncProcessTimeInMillis uint32 }
GeneralSettingsConfig will hold the general settings for a node
type GlobalSettings ¶
type GlobalSettings struct { GenesisTotalSupply string MinimumInflation float64 YearSettings []*YearSetting Denomination int GenesisMintingSenderAddress string }
GlobalSettings will hold general economic values
type GovernanceSystemSCConfig ¶
type GovernanceSystemSCConfig struct { V1 GovernanceSystemSCConfigV1 Active GovernanceSystemSCConfigActive FirstWhitelistedAddress string }
GovernanceSystemSCConfig defines the set of constants to initialize the governance system smart contract
type GovernanceSystemSCConfigActive ¶
type GovernanceSystemSCConfigActive struct { ProposalCost string MinQuorum string MinPassThreshold string MinVetoThreshold string }
GovernanceSystemSCConfigActive defines the set of configuration values used by the governance
system smart contract once it activates
type GovernanceSystemSCConfigV1 ¶
type GovernanceSystemSCConfigV1 struct { NumNodes int64 ProposalCost string MinQuorum int32 MinPassThreshold int32 MinVetoThreshold int32 }
GovernanceSystemSCConfigV1 holds the initial set of values that were used to initialise the
governance system smart contract at genesis time
type HardforkConfig ¶
type HardforkConfig struct { ExportStateStorageConfig StorageConfig ExportKeysStorageConfig StorageConfig ExportTriesStorageConfig StorageConfig ImportStateStorageConfig StorageConfig ImportKeysStorageConfig StorageConfig PublicKeyToListenFrom string ImportFolder string GenesisTime int64 StartRound uint64 StartNonce uint64 CloseAfterExportInMinutes uint32 StartEpoch uint32 ValidatorGracePeriodInEpochs uint32 EnableTrigger bool EnableTriggerFromP2P bool MustImport bool AfterHardFork bool }
HardforkConfig holds the configuration for the hardfork trigger
type HeadersPoolConfig ¶
HeadersPoolConfig will map the headers cache configuration
type HealthServiceConfig ¶
type HealthServiceConfig struct { IntervalVerifyMemoryInSeconds int IntervalDiagnoseComponentsInSeconds int IntervalDiagnoseComponentsDeeplyInSeconds int MemoryUsageToCreateProfiles int NumMemoryUsageRecordsToKeep int FolderPath string }
HealthServiceConfig will hold health service (monitoring) configuration
type HeartbeatConfig ¶
type HeartbeatConfig struct { MinTimeToWaitBetweenBroadcastsInSec int MaxTimeToWaitBetweenBroadcastsInSec int DurationToConsiderUnresponsiveInSec int HeartbeatRefreshIntervalInSec uint32 HideInactiveValidatorIntervalInSec uint32 HeartbeatStorage StorageConfig }
HeartbeatConfig will hold all heartbeat settings
type HeartbeatV2Config ¶
type HeartbeatV2Config struct { PeerAuthenticationTimeBetweenSendsInSec int64 PeerAuthenticationTimeBetweenSendsWhenErrorInSec int64 PeerAuthenticationThresholdBetweenSends float64 HeartbeatTimeBetweenSendsInSec int64 HeartbeatTimeBetweenSendsWhenErrorInSec int64 HeartbeatThresholdBetweenSends float64 HeartbeatExpiryTimespanInSec int64 MinPeersThreshold float32 DelayBetweenRequestsInSec int64 MaxTimeoutInSec int64 PeerShardTimeBetweenSendsInSec int64 PeerShardThresholdBetweenSends float64 MaxMissingKeysInRequest uint32 MaxDurationPeerUnresponsiveInSec int64 HideInactiveValidatorIntervalInSec int64 HeartbeatPool CacheConfig HardforkTimeBetweenSendsInSec int64 TimeBetweenConnectionsMetricsUpdateInSec int64 TimeToReadDirectConnectionsInSec int64 }
HeartbeatV2Config will hold the configuration for heartbeat v2
type ImportDbConfig ¶
type ImportDbConfig struct { IsImportDBMode bool ImportDBStartInEpoch uint32 ImportDBTargetShardID uint32 ImportDBWorkingDir string ImportDbNoSigCheckFlag bool ImportDbSaveTrieEpochRootHash bool }
ImportDbConfig will hold the import-db parameters
type IncreaseFactorConfig ¶
IncreaseFactorConfig defines the configurations used to increase the set values of a flood preventer
type InterceptorResolverDebugConfig ¶
type InterceptorResolverDebugConfig struct { Enabled bool EnablePrint bool CacheSize int IntervalAutoPrintInSeconds int NumRequestsThreshold int NumResolveFailureThreshold int DebugLineExpiration int }
InterceptorResolverDebugConfig will hold the interceptor-resolver debug configuration
type KadDhtPeerDiscoveryConfig ¶
type KadDhtPeerDiscoveryConfig struct { Enabled bool Type string RefreshIntervalInSec uint32 ProtocolID string InitialPeerList []string BucketSize uint32 RoutingTableRefreshIntervalInSec uint32 }
KadDhtPeerDiscoveryConfig will hold the kad-dht discovery config settings
type LogsAndEventsConfig ¶
type LogsAndEventsConfig struct { SaveInStorageEnabled bool TxLogsStorage StorageConfig }
LogsAndEventsConfig hold the configuration for the logs and events
type LogsConfig ¶
LogsConfig will hold settings related to the logging sub-system
type MarshalizerConfig ¶
type MarshalizerConfig struct { Type string // TODO check if we still need this SizeCheckDelta uint32 }
MarshalizerConfig holds the marshalizer related configuration
type MaxNodesChangeConfig ¶
type MaxNodesChangeConfig struct { EpochEnable uint32 MaxNumNodes uint32 NodesToShufflePerShard uint32 }
MaxNodesChangeConfig defines a config change tuple, with a maximum number enabled in a certain epoch number
type NTPConfig ¶
type NTPConfig struct { Hosts []string Port int TimeoutMilliseconds int SyncPeriodSeconds int Version int }
NTPConfig will hold the configuration for NTP queries
type NodeConfig ¶
type NodeConfig struct { Port string Seed string MaximumExpectedPeerCount uint64 ThresholdMinConnectedPeers uint32 MinNumPeersToWaitForOnBootstrap uint32 }
NodeConfig will hold basic p2p settings
type P2PConfig ¶
type P2PConfig struct { Node NodeConfig KadDhtPeerDiscovery KadDhtPeerDiscoveryConfig Sharding ShardingConfig }
P2PConfig will hold all the P2P settings
type PeerHonestyConfig ¶
type PeerHonestyConfig struct { DecayCoefficient float64 DecayUpdateIntervalInSeconds uint32 MaxScore float64 MinScore float64 BadPeerThreshold float64 UnitValue float64 }
PeerHonestyConfig holds the parameters for the peer honesty handler
type PeersRatingConfig ¶
PeersRatingConfig will hold settings related to peers rating
type Preferences ¶
type Preferences struct {
Preferences PreferencesConfig
}
Preferences will hold the configuration related to node's preferences
type PreferencesConfig ¶
type PreferencesConfig struct { DestinationShardAsObserver string NodeDisplayName string Identity string RedundancyLevel int64 PreferredConnections []string ConnectionWatcherType string FullArchive bool }
PreferencesConfig will hold the fields which are node specific such as the display name
type PubkeyConfig ¶
PubkeyConfig will map the public key configuration
type QueryVirtualMachineConfig ¶
type QueryVirtualMachineConfig struct { VirtualMachineConfig NumConcurrentVMs int }
QueryVirtualMachineConfig holds the configuration for the virtual machine(s) used in query process
type RatingSteps ¶
type RatingSteps struct { HoursToMaxRatingFromStartRating uint32 ProposerValidatorImportance float32 ProposerDecreaseFactor float32 ValidatorDecreaseFactor float32 ConsecutiveMissedBlocksPenalty float32 }
RatingSteps holds the necessary increases and decreases of the rating steps
type RatingValue ¶
RatingValue will hold different rating options with increase and decrease steps
type RatingsConfig ¶
type RatingsConfig struct { General General ShardChain ShardChain MetaChain MetaChain PeerHonesty PeerHonestyConfig }
RatingsConfig will hold the configuration data needed for the ratings
type ResolverConfig ¶
type ResolverConfig struct { NumCrossShardPeers uint32 NumTotalPeers uint32 NumFullHistoryPeers uint32 }
ResolverConfig represents the config options to be used when setting up the resolver instances
type ResourceStatsConfig ¶
ResourceStatsConfig will hold all resource stats settings
type RewardsSettings ¶
type RewardsSettings struct {
RewardsConfigByEpoch []EpochRewardSettings
}
RewardsSettings holds the economics rewards config changes by epoch
type RouteConfig ¶
RouteConfig holds the configuration for a single route
type SelectionChance ¶
SelectionChance will hold the percentage modifier for up to the specified threshold
type ShardChain ¶
type ShardChain struct {
RatingSteps
}
ShardChain will hold RatingSteps for the Shard
type ShardingConfig ¶
type ShardingConfig struct { TargetPeerCount uint32 MaxIntraShardValidators uint32 MaxCrossShardValidators uint32 MaxIntraShardObservers uint32 MaxCrossShardObservers uint32 MaxSeeders uint32 Type string AdditionalConnections AdditionalConnectionsConfig }
ShardingConfig will hold the network sharding config settings
type ShuffleOutDebugConfig ¶
type ShuffleOutDebugConfig struct { CallGCWhenShuffleOut bool ExtraPrintsOnShuffleOut bool DoProfileOnShuffleOut bool }
ShuffleOutDebugConfig will hold the shuffle out debug configuration
type SoftwareVersionConfig ¶
SoftwareVersionConfig will hold the configuration for software version checker
type StakingSystemSCConfig ¶
type StakingSystemSCConfig struct { GenesisNodePrice string MinStakeValue string MinUnstakeTokensValue string UnJailValue string MinStepValue string UnBondPeriod uint64 UnBondPeriodInEpochs uint32 NumRoundsWithoutBleed uint64 MaximumPercentageToBleed float64 BleedPercentagePerRound float64 MaxNumberOfNodesForStake uint64 ActivateBLSPubKeyMessageVerification bool }
StakingSystemSCConfig will hold the staking system smart contract settings
type StateTriesConfig ¶
type StateTriesConfig struct { CheckpointRoundsModulus uint CheckpointsEnabled bool SnapshotsEnabled bool AccountsStatePruningEnabled bool PeerStatePruningEnabled bool MaxStateTrieLevelInMemory uint MaxPeerTrieLevelInMemory uint UserStatePruningQueueSize uint PeerStatePruningQueueSize uint }
StateTriesConfig will hold information about state tries
type StorageConfig ¶
type StorageConfig struct { Cache CacheConfig DB DBConfig }
StorageConfig will map the storage unit configuration
type StoragePruningConfig ¶
type StoragePruningConfig struct { Enabled bool ValidatorCleanOldEpochsData bool ObserverCleanOldEpochsData bool AccountsTrieCleanOldEpochsData bool AccountsTrieSkipRemovalCustomPattern string NumEpochsToKeep uint64 NumActivePersisters uint64 FullArchiveNumActivePersisters uint32 }
StoragePruningConfig will hold settings related to storage pruning
type SystemSmartContractsConfig ¶
type SystemSmartContractsConfig struct { ESDTSystemSCConfig ESDTSystemSCConfig GovernanceSystemSCConfig GovernanceSystemSCConfig StakingSystemSCConfig StakingSystemSCConfig DelegationManagerSystemSCConfig DelegationManagerSystemSCConfig DelegationSystemSCConfig DelegationSystemSCConfig }
SystemSmartContractsConfig defines the system smart contract configs
type TopicAntifloodConfig ¶
type TopicAntifloodConfig struct { DefaultMaxMessagesPerSec uint32 MaxMessages []TopicMaxMessagesConfig }
TopicAntifloodConfig will hold the maximum values per second to be used in certain topics
type TopicMaxMessagesConfig ¶
TopicMaxMessagesConfig will hold the maximum number of messages/sec per topic value
type TrieStorageManagerConfig ¶
type TrieStorageManagerConfig struct { PruningBufferLen uint32 SnapshotsBufferLen uint32 SnapshotsGoroutineNum uint32 CheckpointHashesHolderMaxSize uint64 }
TrieStorageManagerConfig will hold config information about trie storage manager
type TrieSyncConfig ¶
type TrieSyncConfig struct { NumConcurrentTrieSyncers int MaxHardCapForMissingNodes int TrieSyncerVersion int CheckNodesOnDisk bool }
TrieSyncConfig represents the trie synchronization configuration area
type TrieSyncStorageConfig ¶
TrieSyncStorageConfig will map trie sync storage configuration
type TxAccumulatorConfig ¶
type TxAccumulatorConfig struct { MaxAllowedTimeInMilliseconds uint32 MaxDeviationTimeInMilliseconds uint32 }
TxAccumulatorConfig will hold the tx accumulator config values
type TypeConfig ¶
type TypeConfig struct {
Type string
}
TypeConfig will map the string type configuration
type ValidatorStatisticsConfig ¶
type ValidatorStatisticsConfig struct {
CacheRefreshIntervalInSec uint32
}
ValidatorStatisticsConfig will hold validator statistics specific settings
type VersionByEpochs ¶
VersionByEpochs represents a version entry that will be applied between the provided epochs
type VersionsConfig ¶
type VersionsConfig struct { DefaultVersion string VersionsByEpochs []VersionByEpochs Cache CacheConfig }
VersionsConfig represents the versioning config area
type VirtualMachineConfig ¶
type VirtualMachineConfig struct { ArwenVersions []ArwenVersionByEpoch TimeOutForSCExecutionInMilliseconds uint32 WasmerSIGSEGVPassthrough bool }
VirtualMachineConfig holds configuration for a Virtual Machine service
type VirtualMachineGasConfig ¶
VirtualMachineGasConfig holds the configuration for the virtual machine(s) gas operations
type VirtualMachineServicesConfig ¶
type VirtualMachineServicesConfig struct { Execution VirtualMachineConfig Querying QueryVirtualMachineConfig GasConfig VirtualMachineGasConfig }
VirtualMachineServicesConfig holds configuration for the Virtual Machine(s): both querying and execution services.
type WebServerAntifloodConfig ¶
type WebServerAntifloodConfig struct { SimultaneousRequests uint32 SameSourceRequests uint32 SameSourceResetIntervalInSec uint32 TrieOperationsDeadlineMilliseconds uint32 EndpointsThrottlers []EndpointsThrottlersConfig }
WebServerAntifloodConfig will hold the anti-flooding parameters for the web server
type YearSetting ¶
YearSetting will hold the maximum inflation rate for year