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 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 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 ¶ added in v1.7.0
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 ¶ added in v1.6.0
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 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
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 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
IncrementSCRNonceInMultiTransferEnableEpoch uint32
ScheduledMiniBlocksEnableEpoch uint32
ESDTMultiTransferEnableEpoch uint32
GlobalMintBurnDisableEpoch uint32
ESDTTransferRoleEnableEpoch 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
MiniBlockPartialExecutionEnableEpoch uint32
ESDTMetadataContinuousCleanupEnableEpoch 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 ¶ added in v1.7.0
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 ¶ added in v1.6.14
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 ¶ added in v1.6.0
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 ¶ added in v1.6.0
NamedIdentity will hold the fields which are node named identities
type NodesSetupHandler ¶ added in v1.7.0
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 ¶ added in v1.6.2
type RedundancyConfig struct {
MaxRoundsOfInactivityAccepted int
}
RedundancyConfig represents the config options to be used when setting the redundancy configuration
type RequesterConfig ¶ added in v1.6.0
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 ¶ added in v1.7.0
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 {
ESDTSystemSCConfig ESDTSystemSCConfig
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