Documentation
¶
Index ¶
- type APIPackageConfig
- type AntifloodConfig
- type AntifloodDebugConfig
- type AntifloodLimitsConfig
- type ApiRoutesConfig
- type BlackListConfig
- type BlockSizeThrottleConfig
- type BloomFilterConfig
- type CacheConfig
- type Config
- type DBConfig
- type DbLookupExtensionsConfig
- type DebugConfig
- type DelegationManagerSystemSCConfig
- type DelegationSystemSCConfig
- type ESDTSystemSCConfig
- type EconomicsConfig
- type ElasticSearchConfig
- type EndpointsThrottlersConfig
- type EpochStartConfig
- type EvictionWaitingListConfig
- type ExternalConfig
- type FacadeConfig
- type FeeSettings
- type FloodPreventerConfig
- type GasScheduleByEpochs
- type GasScheduleConfig
- type General
- type GeneralSettingsConfig
- type GlobalSettings
- type GovernanceSystemSCConfig
- type HardforkConfig
- type HeadersPoolConfig
- type HealthServiceConfig
- type HeartbeatConfig
- type IncreaseFactorConfig
- type InterceptorResolverDebugConfig
- type KadDhtPeerDiscoveryConfig
- type LogsConfig
- type MarshalizerConfig
- type MaxNodesChangeConfig
- type MetaChain
- type NTPConfig
- type NodeConfig
- type P2PConfig
- type PeerHonestyConfig
- type Preferences
- type PreferencesConfig
- type PubkeyConfig
- type QueryVirtualMachineConfig
- type RatingSteps
- type RatingValue
- type RatingsConfig
- type ResourceStatsConfig
- type RewardsSettings
- type RouteConfig
- type SelectionChance
- type ShardChain
- type ShardingConfig
- type SoftwareVersionConfig
- type StakingSystemSCConfig
- type StateTriesConfig
- type StorageConfig
- type StoragePruningConfig
- type SystemSmartContractsConfig
- type TopicAntifloodConfig
- type TopicMaxMessagesConfig
- type TrieStorageManagerConfig
- type TrieSyncConfig
- type TxAccumulatorConfig
- type TypeConfig
- type ValidatorStatisticsConfig
- type VersionByEpochs
- type VersionsConfig
- type VirtualMachineConfig
- type VirtualMachineOutOfProcessConfig
- type VirtualMachineServicesConfig
- type WebServerAntifloodConfig
- type YearSetting
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APIPackageConfig ¶ added in v1.0.114
type APIPackageConfig struct {
Routes []RouteConfig
}
APIPackageConfig holds the configuration for the routes of each package
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 ¶ added in v1.0.127
AntifloodDebugConfig will hold the antiflood debug configuration
type AntifloodLimitsConfig ¶ added in v1.0.106
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 ApiRoutesConfig ¶ added in v1.0.114
type ApiRoutesConfig struct {
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 BlockSizeThrottleConfig ¶
BlockSizeThrottleConfig will hold the configuration for adaptive block size throttle
type BloomFilterConfig ¶
BloomFilterConfig will map the bloom filter configuration
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 SmartContractsStorage StorageConfig SmartContractsStorageForSCQuery StorageConfig BootstrapStorage StorageConfig MetaBlockStorage StorageConfig AccountsTrieStorage StorageConfig PeerAccountsTrieStorage StorageConfig TrieSnapshotDB DBConfig EvictionWaitingList EvictionWaitingListConfig StateTriesConfig StateTriesConfig TrieStorageManagerConfig TrieStorageManagerConfig BadBlocksCache CacheConfig TxBlockBodyDataPool CacheConfig PeerBlockBodyDataPool CacheConfig TxDataPool CacheConfig UnsignedTransactionDataPool CacheConfig RewardTransactionDataPool CacheConfig TrieNodesDataPool CacheConfig WhiteListPool CacheConfig WhiteListerVerifiedTxs CacheConfig SmartContractDataPool CacheConfig 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 ValidatorStatistics ValidatorStatisticsConfig GeneralSettings GeneralSettingsConfig Consensus TypeConfig StoragePruning StoragePruningConfig TxLogsStorage StorageConfig NTPConfig NTPConfig HeadersPoolConfig HeadersPoolConfig BlockSizeThrottleConfig BlockSizeThrottleConfig VirtualMachine VirtualMachineServicesConfig Hardfork HardforkConfig Debug DebugConfig Health HealthServiceConfig SoftwareVersionConfig SoftwareVersionConfig DbLookupExtensions DbLookupExtensionsConfig Versions VersionsConfig GasSchedule GasScheduleConfig Logs LogsConfig TrieSync TrieSyncConfig }
Config will hold the entire application configuration parameters
type DBConfig ¶
type DBConfig struct { FilePath string Type string BatchDelaySeconds int MaxBatchSize int MaxOpenFiles int }
DBConfig will map the database configuration
type DbLookupExtensionsConfig ¶ added in v1.1.1
type DbLookupExtensionsConfig struct { Enabled bool MiniblocksMetadataStorageConfig StorageConfig MiniblockHashByTxHashStorageConfig StorageConfig EpochByHashStorageConfig StorageConfig ResultsHashesByTxHashStorageConfig StorageConfig }
DbLookupExtensionsConfig holds the configuration for the db lookup extensions
type DebugConfig ¶ added in v1.0.110
type DebugConfig struct { InterceptorResolver InterceptorResolverDebugConfig Antiflood AntifloodDebugConfig }
DebugConfig will hold debugging configuration
type DelegationManagerSystemSCConfig ¶ added in v1.1.15
type DelegationManagerSystemSCConfig struct { MinCreationDeposit string EnabledEpoch uint32 MinStakeAmount string ConfigChangeAddress string }
DelegationManagerSystemSCConfig defines a set of constants to initialize the delegation manager system smart contract
type DelegationSystemSCConfig ¶ added in v1.1.15
type DelegationSystemSCConfig struct { EnabledEpoch uint32 MinServiceFee uint64 MaxServiceFee uint64 }
DelegationSystemSCConfig defines a set of constants to initialize the delegation system smart contract
type ESDTSystemSCConfig ¶ added in v1.0.114
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 URL string UseKibana bool Username string Password string EnabledIndexes []string }
ElasticSearchConfig will hold the configuration for the elastic search
type EndpointsThrottlersConfig ¶ added in v1.0.137
EndpointsThrottlersConfig holds a pair of an endpoint and its maximum number of simultaneous go routines
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 EvictionWaitingListConfig ¶
EvictionWaitingListConfig will hold the configuration for the EvictionWaitingList
type ExternalConfig ¶
type ExternalConfig struct {
ElasticSearchConnector ElasticSearchConfig
}
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 { MaxGasLimitPerBlock string MaxGasLimitPerMetaBlock string GasPerDataByte string MinGasPrice string MinGasLimit string GasPriceModifier float64 }
FeeSettings will hold economics fee settings
type FloodPreventerConfig ¶ added in v1.0.120
type FloodPreventerConfig struct { IntervalInSeconds uint32 ReservedPercent float32 PeerMaxInput AntifloodLimitsConfig BlackList BlackListConfig }
FloodPreventerConfig will hold all flood preventer parameters
type GasScheduleByEpochs ¶ added in v1.1.12
GasScheduleByEpochs represents a gas schedule toml entry that will be applied from the provided epoch
type GasScheduleConfig ¶ added in v1.1.12
type GasScheduleConfig struct {
GasScheduleByEpochs []GasScheduleByEpochs
}
GasScheduleConfig represents the versioning config area for the gas schedule toml
type General ¶ added in v0.0.5
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 StartInEpochEnabled bool SCDeployEnableEpoch uint32 BuiltInFunctionsEnableEpoch uint32 RelayedTransactionsEnableEpoch uint32 PenalizedTooMuchGasEnableEpoch uint32 SwitchJailWaitingEnableEpoch uint32 SwitchHysteresisForMinNodesEnableEpoch uint32 BelowSignedThresholdEnableEpoch uint32 TransactionSignedWithTxHashEnableEpoch uint32 MetaProtectionEnableEpoch uint32 AheadOfTimeGasUsageEnableEpoch uint32 GasPriceModifierEnableEpoch uint32 RepairCallbackEnableEpoch uint32 BalanceWaitingListsEnableEpoch uint32 MaxNodesChangeEnableEpoch []MaxNodesChangeConfig GenesisString string GenesisMaxNumberOfShards uint32 BlockGasAndFeesReCheckEnableEpoch uint32 ReturnDataToLastTransferEnableEpoch uint32 ArwenESDTFunctionsEnableEpoch uint32 SenderInOutTransferEnableEpoch uint32 }
GeneralSettingsConfig will hold the general settings for a node
type GlobalSettings ¶
type GlobalSettings struct { GenesisTotalSupply string MinimumInflation float64 YearSettings []*YearSetting Denomination int }
GlobalSettings will hold general economic values
type GovernanceSystemSCConfig ¶ added in v1.0.133
type GovernanceSystemSCConfig struct { ProposalCost string NumNodes int64 MinQuorum int32 MinPassThreshold int32 MinVetoThreshold int32 EnabledEpoch uint32 }
GovernanceSystemSCConfig defines the set of constants to initialize the governance system smart contract
type HardforkConfig ¶ added in v1.0.102
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 ¶ added in v1.0.133
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 IncreaseFactorConfig ¶ added in v1.0.123
IncreaseFactorConfig defines the configurations used to increase the set values of a flood preventer
type InterceptorResolverDebugConfig ¶ added in v1.0.110
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 RefreshIntervalInSec uint32 ProtocolID string InitialPeerList []string BucketSize uint32 RoutingTableRefreshIntervalInSec uint32 }
KadDhtPeerDiscoveryConfig will hold the kad-dht discovery config settings
type LogsConfig ¶ added in v1.1.1
type LogsConfig struct {
LogFileLifeSpanInSec int
}
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 ¶ added in v1.1.15
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 MetaChain ¶ added in v0.0.5
type MetaChain struct {
RatingSteps
}
MetaChain will hold RatingSteps for the Meta
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 }
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 ¶ added in v1.0.133
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 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 }
PreferencesConfig will hold the fields which are node specific such as the display name
type PubkeyConfig ¶ added in v1.0.104
PubkeyConfig will map the public key configuration
type QueryVirtualMachineConfig ¶ added in v1.1.18
type QueryVirtualMachineConfig struct { VirtualMachineConfig NumConcurrentVMs int }
QueryVirtualMachineConfig holds the configuration for the virtual machine(s) used in query process
type RatingSteps ¶ added in v0.0.5
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 ¶ added in v0.0.5
type RatingsConfig struct { General General ShardChain ShardChain MetaChain MetaChain PeerHonesty PeerHonestyConfig }
RatingsConfig will hold the configuration data needed for the ratings
type ResourceStatsConfig ¶
ResourceStatsConfig will hold all resource stats settings
type RewardsSettings ¶
type RewardsSettings struct { LeaderPercentage float64 DeveloperPercentage float64 ProtocolSustainabilityPercentage float64 ProtocolSustainabilityAddress string TopUpGradientPoint string TopUpFactor float64 }
RewardsSettings will hold economics rewards settings
type RouteConfig ¶ added in v1.0.114
RouteConfig holds the configuration for a single route
type SelectionChance ¶
SelectionChance will hold the percentage modifier for up to the specified threshold
type ShardChain ¶ added in v0.0.5
type ShardChain struct {
RatingSteps
}
ShardChain will hold RatingSteps for the Shard
type ShardingConfig ¶
type ShardingConfig struct { TargetPeerCount int MaxIntraShardValidators uint32 MaxCrossShardValidators uint32 MaxIntraShardObservers uint32 MaxCrossShardObservers uint32 Type string }
ShardingConfig will hold the network sharding config settings
type SoftwareVersionConfig ¶ added in v1.0.128
SoftwareVersionConfig will hold the configuration for software version checker
type StakingSystemSCConfig ¶ added in v1.0.147
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 StakingV2Epoch uint32 StakeEnableEpoch uint32 CorrectLastUnjailedEpoch uint32 DoubleKeyProtectionEnableEpoch uint32 UnbondTokensV2EnableEpoch uint32 ActivateBLSPubKeyMessageVerification bool }
StakingSystemSCConfig will hold the staking system smart contract settings
type StateTriesConfig ¶
type StateTriesConfig struct { CheckpointRoundsModulus uint AccountsStatePruningEnabled bool PeerStatePruningEnabled bool MaxStateTrieLevelInMemory uint MaxPeerTrieLevelInMemory uint }
StateTriesConfig will hold information about state tries
type StorageConfig ¶
type StorageConfig struct { Cache CacheConfig DB DBConfig Bloom BloomFilterConfig }
StorageConfig will map the storage unit configuration
type StoragePruningConfig ¶
type StoragePruningConfig struct { Enabled bool CleanOldEpochsData bool NumEpochsToKeep uint64 NumActivePersisters uint64 }
StoragePruningConfig will hold settings related to storage pruning
type SystemSmartContractsConfig ¶ added in v1.0.114
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 ¶ added in v1.0.103
type TrieStorageManagerConfig struct { PruningBufferLen uint32 SnapshotsBufferLen uint32 MaxSnapshots uint32 }
TrieStorageManagerConfig will hold config information about trie storage manager
type TrieSyncConfig ¶ added in v1.1.28
type TrieSyncConfig struct { NumConcurrentTrieSyncers int MaxHardCapForMissingNodes int TrieSyncerVersion int }
TrieSyncConfig represents the trie synchronization configuration area
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 ¶ added in v1.0.120
type ValidatorStatisticsConfig struct {
CacheRefreshIntervalInSec uint32
}
ValidatorStatisticsConfig will hold validator statistics specific settings
type VersionByEpochs ¶ added in v1.1.1
VersionByEpochs represents a version entry that will be applied between the provided epochs
type VersionsConfig ¶ added in v1.1.1
type VersionsConfig struct { DefaultVersion string VersionsByEpochs []VersionByEpochs Cache CacheConfig }
VersionsConfig represents the versioning config area
type VirtualMachineConfig ¶ added in v0.0.5
type VirtualMachineConfig struct { OutOfProcessConfig VirtualMachineOutOfProcessConfig OutOfProcessEnabled bool }
VirtualMachineConfig holds configuration for a Virtual Machine service
type VirtualMachineOutOfProcessConfig ¶ added in v0.0.5
type VirtualMachineOutOfProcessConfig struct { LogsMarshalizer string MessagesMarshalizer string MaxLoopTime int }
VirtualMachineOutOfProcessConfig holds configuration for out-of-process virtual machine(s)
type VirtualMachineServicesConfig ¶ added in v1.1.5
type VirtualMachineServicesConfig struct { Execution VirtualMachineConfig Querying QueryVirtualMachineConfig }
VirtualMachineServicesConfig holds configuration for the Virtual Machine(s): both querying and execution services.
type WebServerAntifloodConfig ¶
type WebServerAntifloodConfig struct { SimultaneousRequests uint32 SameSourceRequests uint32 SameSourceResetIntervalInSec uint32 EndpointsThrottlers []EndpointsThrottlersConfig }
WebServerAntifloodConfig will hold the anti-flooding parameters for the web server
type YearSetting ¶ added in v1.0.137
YearSetting will hold the maximum inflation rate for year