Documentation ¶
Index ¶
- func SanityCheckNodesConfig(nodesSetup NodesSetupHandler, cfg EnableEpochs) error
- type APIPackageConfig
- type ActivationRoundByName
- type AntifloodConfig
- type AntifloodDebugConfig
- type AntifloodLimitsConfig
- type ApiLoggingConfig
- type ApiRoutesConfig
- type BlackListConfig
- type BlockProcessingCutoffConfig
- type BlockSizeThrottleConfig
- type BuiltInFunctionsConfig
- type CacheConfig
- type Config
- type Configs
- type ConfigurationPathsHolder
- type ConsensusConfig
- type ContextFlagsConfig
- type CovalentConfig
- type DBConfig
- type DCDTSystemSCConfig
- type DbLookupExtensionsConfig
- type DebugConfig
- type DelegationManagerSystemSCConfig
- type DelegationSystemSCConfig
- 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 GatewayMetricsConfig
- type General
- type GeneralSettingsConfig
- type GlobalSettings
- type GovernanceSystemSCConfig
- type GovernanceSystemSCConfigActive
- type GovernanceSystemSCConfigV1
- type HardforkConfig
- type HardwareRequirementsConfig
- type HeadersPoolConfig
- type HealthServiceConfig
- type HeartbeatV2Config
- type HostDriversConfig
- type ImportDbConfig
- type IncreaseFactorConfig
- type InterceptorResolverDebugConfig
- type LogsAndEventsConfig
- type LogsConfig
- type MarshalizerConfig
- type MaxNodesChangeConfig
- type MetaChain
- type MultiSignerConfig
- type NTPConfig
- type NamedIdentity
- type NodesSetupHandler
- type OverridableConfig
- type PeerHonestyConfig
- type PeersRatingConfig
- type PoolsCleanersConfig
- type Preferences
- type PreferencesConfig
- type ProcessDebugConfig
- type PubkeyConfig
- type QueryVirtualMachineConfig
- type RatingSteps
- type RatingValue
- type RatingsConfig
- type RedundancyConfig
- type RequesterConfig
- type ResourceStatsConfig
- type RewardsSettings
- type RoundConfig
- type RouteConfig
- type SelectionChance
- type ShardChain
- type ShuffleOutDebugConfig
- type SoftAuctionConfig
- 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 WasmVMVersionByEpoch
- type WebServerAntifloodConfig
- type YearSetting
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func SanityCheckNodesConfig ¶
func SanityCheckNodesConfig( nodesSetup NodesSetupHandler, cfg EnableEpochs, ) error
SanityCheckNodesConfig checks if the nodes limit setup is set correctly
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 AntifloodConfig ¶
type AntifloodConfig struct { Enabled bool NumConcurrentResolverJobs int32 NumConcurrentResolvingTrieNodesJobs int32 OutOfSpecs FloodPreventerConfig FastReacting FloodPreventerConfig SlowReacting FloodPreventerConfig PeerMaxOutput AntifloodLimitsConfig Cache CacheConfig 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 BlackListConfig ¶
type BlackListConfig struct { ThresholdNumMessagesPerInterval uint32 ThresholdSizePerInterval uint64 NumFloodingRounds uint32 PeerBanDurationInSeconds uint32 }
BlackListConfig will hold the p2p peer black list threshold values
type BlockProcessingCutoffConfig ¶
type BlockProcessingCutoffConfig struct { Enabled bool Mode string CutoffTrigger string Value uint64 }
BlockProcessingCutoffConfig holds the configuration for the block processing cutoff
type BlockSizeThrottleConfig ¶
BlockSizeThrottleConfig will hold the configuration for adaptive block size throttle
type BuiltInFunctionsConfig ¶
type BuiltInFunctionsConfig struct { AutomaticCrawlerAddresses []string MaxNumAddressesInTransferRole uint32 DNSV2Addresses []string }
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 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 ValidatorInfoPool 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 WebServerAntiflood WebServerAntifloodConfig ResourceStats ResourceStatsConfig HeartbeatV2 HeartbeatV2Config ValidatorStatistics ValidatorStatisticsConfig GeneralSettings GeneralSettingsConfig Consensus ConsensusConfig StoragePruning StoragePruningConfig LogsAndEvents LogsAndEventsConfig HardwareRequirements HardwareRequirementsConfig NTPConfig NTPConfig HeadersPoolConfig HeadersPoolConfig BlockSizeThrottleConfig BlockSizeThrottleConfig VirtualMachine VirtualMachineServicesConfig BuiltInFunctions BuiltInFunctionsConfig Hardfork HardforkConfig Debug DebugConfig Health HealthServiceConfig SoftwareVersionConfig SoftwareVersionConfig GatewayMetricsConfig GatewayMetricsConfig DbLookupExtensions DbLookupExtensionsConfig Versions VersionsConfig Logs LogsConfig TrieSync TrieSyncConfig Requesters RequesterConfig VMOutputCacher CacheConfig PeersRatingConfig PeersRatingConfig PoolsCleanersConfig PoolsCleanersConfig Redundancy RedundancyConfig }
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 MainP2pConfig *p2pConfig.P2PConfig FullArchiveP2pConfig *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 MainP2p string FullArchiveP2p string GasScheduleDirectoryName string Nodes string Genesis string SmartContracts string ValidatorKey string AllValidatorKeys string Epoch string RoundActivation string P2pKey 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 DbDir string LogsDir string EnableGops bool SaveLogFile bool EnableLogCorrelation bool EnableLogName bool LogLevel string DisableAnsiColor bool CleanupStorage bool UseHealthService bool SessionInfoFileOutput string BootstrapRoundIndex uint64 RestApiInterface string EnablePprof bool UseLogView bool ValidatorKeyIndex int EnableRestAPIServerDebugMode bool BaseVersion string Version string ForceStartFromNetwork bool DisableConsensusWatchdog bool SerializeSnapshots bool OperationMode string RepopulateTokensSupplies bool P2PPrometheusMetricsEnabled 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 ShardIDProviderType string NumShards int32 }
DBConfig will map the database configuration
type DCDTSystemSCConfig ¶
DCDTSystemSCConfig defines a set of constant to initialize the dcdt system smart contract
type DbLookupExtensionsConfig ¶
type DbLookupExtensionsConfig struct { Enabled bool DbLookupMaxActivePersisters uint32 MiniblocksMetadataStorageConfig StorageConfig MiniblockHashByTxHashStorageConfig StorageConfig EpochByHashStorageConfig StorageConfig ResultsHashesByTxHashStorageConfig StorageConfig DCDTSuppliesStorageConfig 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 Process ProcessDebugConfig }
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 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 DCDTEnableEpoch 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 IncrementSCRNonceInMultiTransferEnableEpoch uint32 ScheduledMiniBlocksEnableEpoch uint32 DCDTMultiTransferEnableEpoch uint32 GlobalMintBurnDisableEpoch uint32 DCDTTransferRoleEnableEpoch uint32 ComputeRewardCheckpointEnableEpoch uint32 SCRSizeInvariantCheckEnableEpoch uint32 BackwardCompSaveKeyValueEnableEpoch uint32 DCDTNFTCreateOnMultiShardEnableEpoch uint32 MetaDCDTSetEnableEpoch uint32 AddTokensToDelegationEnableEpoch uint32 MultiDCDTTransferFixOnCallBackOnEnableEpoch 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 DCDTRegisterAndSetAllRolesEnableEpoch uint32 DoNotReturnOldBlockInBlockchainHookEnableEpoch uint32 AddFailedRelayedTxToInvalidMBsDisableEpoch uint32 SCRSizeInvariantOnBuiltInResultEnableEpoch uint32 CheckCorrectTokenIDForTransferRoleEnableEpoch uint32 DisableExecByCallerEnableEpoch uint32 FailExecutionOnEveryAPIErrorEnableEpoch uint32 ManagedCryptoAPIsEnableEpoch uint32 RefactorContextEnableEpoch uint32 CheckFunctionArgumentEnableEpoch uint32 CheckExecuteOnReadOnlyEnableEpoch uint32 MiniBlockPartialExecutionEnableEpoch uint32 DCDTMetadataContinuousCleanupEnableEpoch uint32 FixAsyncCallBackArgsListEnableEpoch uint32 FixOldTokenLiquidityEnableEpoch uint32 RuntimeMemStoreLimitEnableEpoch uint32 RuntimeCodeSizeFixEnableEpoch uint32 SetSenderInEeiOutputTransferEnableEpoch uint32 RefactorPeersMiniBlocksEnableEpoch uint32 SCProcessorV2EnableEpoch uint32 MaxBlockchainHookCountersEnableEpoch uint32 WipeSingleNFTLiquidityDecreaseEnableEpoch uint32 AlwaysSaveTokenMetaDataEnableEpoch uint32 SetGuardianEnableEpoch uint32 ScToScLogEventEnableEpoch uint32 RelayedNonceFixEnableEpoch uint32 DeterministicSortOnValidatorsInfoEnableEpoch uint32 KeepExecOrderOnCreatedSCRsEnableEpoch uint32 MultiClaimOnDelegationEnableEpoch uint32 ChangeUsernameEnableEpoch uint32 AutoBalanceDataTriesEnableEpoch uint32 MigrateDataTrieEnableEpoch uint32 ConsistentTokensValuesLengthCheckEnableEpoch uint32 FixDelegationChangeOwnerOnAccountEnableEpoch uint32 DynamicGasCostForDataTrieStorageLoadEnableEpoch uint32 NFTStopCreateEnableEpoch uint32 ChangeOwnerAddressCrossShardThroughSCEnableEpoch uint32 FixGasRemainingForSaveKeyValueBuiltinFunctionEnableEpoch uint32 CurrentRandomnessOnSortingEnableEpoch uint32 StakeLimitsEnableEpoch uint32 StakingV4Step1EnableEpoch uint32 StakingV4Step2EnableEpoch uint32 StakingV4Step3EnableEpoch uint32 CleanupAuctionOnLowWaitingListEnableEpoch uint32 AlwaysMergeContextsInEEIEnableEpoch uint32 UseGasBoundedShouldFailExecutionEnableEpoch uint32 BLSMultiSignerEnableEpoch []MultiSignerConfig }
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 ExtraDelayForRequestBlockInfoInMilliseconds int GenesisEpoch uint32 }
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 RequestTimeoutSec int MarshallerType 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 HostDriversConfig []HostDriversConfig }
ExternalConfig will hold the configurations for external tools, such as Explorer or Elasticsearch
type FacadeConfig ¶
type FacadeConfig struct { RestApiInterface string PprofEnabled bool P2PPrometheusMetricsEnabled bool }
FacadeConfig will hold different configuration option that will be passed to the node facade
type FeeSettings ¶
type FeeSettings struct { GasLimitSettings []GasLimitSetting GasPerDataByte string MinGasPrice string GasPriceModifier float64 MaxGasPriceSetGuardian string }
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 ExtraGasLimitGuardedTx 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 GatewayMetricsConfig ¶
type GatewayMetricsConfig struct {
URL string
}
GatewayMetricsConfig will hold the configuration for gateway endpoint configuration
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 SetGuardianEpochsDelay 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 OwnerAddress string }
GovernanceSystemSCConfig defines the set of constants to initialize the governance system smart contract
type GovernanceSystemSCConfigActive ¶
type GovernanceSystemSCConfigActive struct { ProposalCost string LostProposalFee string MinQuorum float64 MinPassThreshold float64 MinVetoThreshold float64 }
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 HardwareRequirementsConfig ¶
type HardwareRequirementsConfig struct {
CPUFlags []string
}
HardwareRequirementsConfig will hold the hardware requirements config
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 HeartbeatV2Config ¶
type HeartbeatV2Config struct { PeerAuthenticationTimeBetweenSendsInSec int64 PeerAuthenticationTimeBetweenSendsWhenErrorInSec int64 PeerAuthenticationTimeThresholdBetweenSends float64 HeartbeatTimeBetweenSendsInSec int64 HeartbeatTimeBetweenSendsDuringBootstrapInSec int64 HeartbeatTimeBetweenSendsWhenErrorInSec int64 HeartbeatTimeThresholdBetweenSends float64 HeartbeatExpiryTimespanInSec int64 MinPeersThreshold float32 DelayBetweenPeerAuthenticationRequestsInSec int64 PeerAuthenticationMaxTimeoutForRequestsInSec int64 PeerShardTimeBetweenSendsInSec int64 PeerShardTimeThresholdBetweenSends float64 MaxMissingKeysInRequest uint32 MaxDurationPeerUnresponsiveInSec int64 HideInactiveValidatorIntervalInSec int64 HeartbeatPool CacheConfig HardforkTimeBetweenSendsInSec int64 TimeBetweenConnectionsMetricsUpdateInSec int64 TimeToReadDirectConnectionsInSec int64 PeerAuthenticationTimeBetweenChecksInSec int64 }
HeartbeatV2Config will hold the configuration for heartbeat v2
type HostDriversConfig ¶
type HostDriversConfig struct { Enabled bool WithAcknowledge bool BlockingAckOnError bool DropMessagesIfNoConnection bool URL string MarshallerType string Mode string RetryDurationInSec int AcknowledgeTimeoutInSec int Version uint32 }
HostDriversConfig will hold the configuration for WebSocket driver
type ImportDbConfig ¶
type ImportDbConfig struct { IsImportDBMode bool 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 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 MultiSignerConfig ¶
MultiSignerConfig defines a config tuple for a BLS multi-signer that activates in a certain epoch
type NTPConfig ¶
type NTPConfig struct { Hosts []string Port int TimeoutMilliseconds int SyncPeriodSeconds int Version int }
NTPConfig will hold the configuration for NTP queries
type NamedIdentity ¶
NamedIdentity will hold the fields which are node named identities
type NodesSetupHandler ¶
type NodesSetupHandler interface { MinNumberOfNodesWithHysteresis() uint32 NumberOfShards() uint32 }
NodesSetupHandler provides nodes setup information
type OverridableConfig ¶
OverridableConfig holds the path and the new value to be updated in the configuration
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 PoolsCleanersConfig ¶
type PoolsCleanersConfig struct { MaxRoundsToKeepUnprocessedMiniBlocks int64 MaxRoundsToKeepUnprocessedTransactions int64 }
PoolsCleanersConfig represents the config options to be used by the pools cleaners
type Preferences ¶
type Preferences struct { Preferences PreferencesConfig BlockProcessingCutoff BlockProcessingCutoffConfig NamedIdentity []NamedIdentity }
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 OverridableConfigTomlValues []OverridableConfig FullArchive bool }
PreferencesConfig will hold the fields which are node specific such as the display name
type ProcessDebugConfig ¶
type ProcessDebugConfig struct { Enabled bool GoRoutinesDump bool DebuggingLogLevel string PollingTimeInSeconds int RevertLogLevelTimeInSeconds int }
ProcessDebugConfig will hold the process debug configuration
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 RedundancyConfig ¶
type RedundancyConfig struct {
MaxRoundsOfInactivityAccepted int
}
RedundancyConfig represents the config options to be used when setting the redundancy configuration
type RequesterConfig ¶
type RequesterConfig struct { NumCrossShardPeers uint32 NumTotalPeers uint32 NumFullHistoryPeers uint32 }
RequesterConfig represents the config options to be used when setting up the requester 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 RoundConfig ¶
type RoundConfig struct {
RoundActivations map[string]ActivationRoundByName
}
RoundConfig contains round activation configurations
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 ShuffleOutDebugConfig ¶
type ShuffleOutDebugConfig struct { CallGCWhenShuffleOut bool ExtraPrintsOnShuffleOut bool DoProfileOnShuffleOut bool }
ShuffleOutDebugConfig will hold the shuffle out debug configuration
type SoftAuctionConfig ¶
type SoftAuctionConfig struct { TopUpStep string MinTopUp string MaxTopUp string MaxNumberOfIterations uint64 }
SoftAuctionConfig represents the config options for soft auction selecting used in staking v4
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 StakeLimitPercentage float64 NodeLimitPercentage float64 }
StakingSystemSCConfig will hold the staking system smart contract settings
type StateTriesConfig ¶
type StateTriesConfig struct { SnapshotsEnabled bool AccountsStatePruningEnabled bool PeerStatePruningEnabled bool MaxStateTrieLevelInMemory uint MaxPeerTrieLevelInMemory uint StateStatisticsEnabled bool }
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 { DCDTSystemSCConfig DCDTSystemSCConfig GovernanceSystemSCConfig GovernanceSystemSCConfig StakingSystemSCConfig StakingSystemSCConfig DelegationManagerSystemSCConfig DelegationManagerSystemSCConfig DelegationSystemSCConfig DelegationSystemSCConfig SoftAuctionConfig SoftAuctionConfig }
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 }
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 { WasmVMVersions []WasmVMVersionByEpoch 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 WasmVMVersionByEpoch ¶
WasmVMVersionByEpoch represents the Wasm VM version to be used starting with an epoch
type WebServerAntifloodConfig ¶
type WebServerAntifloodConfig struct { WebServerAntifloodEnabled bool SimultaneousRequests uint32 SameSourceRequests uint32 SameSourceResetIntervalInSec uint32 TrieOperationsDeadlineMilliseconds uint32 GetAddressesBulkMaxSize uint32 VmQueryDelayAfterStartInSec 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