Documentation ¶
Index ¶
- type ChainConfig
- type Config
- type Empty
- type EndpointConfig
- type EndpointSshConfig
- type ForkVersion
- type MainMenuItem
- type Meta
- type MevRelayConfig
- type NamedValidator
- type NavigationGroup
- type NavigationLink
- type PageData
- type PgsqlDatabaseConfig
- type SqliteDatabaseConfig
- type TxSignatureBytes
- type TxSignatureLookupStatus
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ChainConfig ¶
type ChainConfig struct { PresetBase string `yaml:"PRESET_BASE"` ConfigName string `yaml:"CONFIG_NAME"` TerminalTotalDifficulty string `yaml:"TERMINAL_TOTAL_DIFFICULTY"` TerminalBlockHash string `yaml:"TERMINAL_BLOCK_HASH"` TerminalBlockHashActivationEpoch uint64 `yaml:"TERMINAL_BLOCK_HASH_ACTIVATION_EPOCH"` MinGenesisActiveValidatorCount uint64 `yaml:"MIN_GENESIS_ACTIVE_VALIDATOR_COUNT"` MinGenesisTime int64 `yaml:"MIN_GENESIS_TIME"` GenesisForkVersion string `yaml:"GENESIS_FORK_VERSION"` GenesisDelay uint64 `yaml:"GENESIS_DELAY"` AltairForkVersion string `yaml:"ALTAIR_FORK_VERSION"` AltairForkEpoch uint64 `yaml:"ALTAIR_FORK_EPOCH"` BellatrixForkVersion string `yaml:"BELLATRIX_FORK_VERSION"` BellatrixForkEpoch uint64 `yaml:"BELLATRIX_FORK_EPOCH"` CappellaForkVersion string `yaml:"CAPELLA_FORK_VERSION"` CappellaForkEpoch uint64 `yaml:"CAPELLA_FORK_EPOCH"` DenebForkVersion string `yaml:"DENEB_FORK_VERSION"` DenebForkEpoch uint64 `yaml:"DENEB_FORK_EPOCH"` ShardingForkVersion string `yaml:"SHARDING_FORK_VERSION"` ShardingForkEpoch uint64 `yaml:"SHARDING_FORK_EPOCH"` SecondsPerSlot uint64 `yaml:"SECONDS_PER_SLOT"` SecondsPerEth1Block uint64 `yaml:"SECONDS_PER_ETH1_BLOCK"` MinValidatorWithdrawabilityDelay uint64 `yaml:"MIN_VALIDATOR_WITHDRAWABILITY_DELAY"` ShardCommitteePeriod uint64 `yaml:"SHARD_COMMITTEE_PERIOD"` Eth1FollowDistance uint64 `yaml:"ETH1_FOLLOW_DISTANCE"` InactivityScoreBias uint64 `yaml:"INACTIVITY_SCORE_BIAS"` InactivityScoreRecoveryRate uint64 `yaml:"INACTIVITY_SCORE_RECOVERY_RATE"` EjectionBalance uint64 `yaml:"EJECTION_BALANCE"` MinPerEpochChurnLimit uint64 `yaml:"MIN_PER_EPOCH_CHURN_LIMIT"` ChurnLimitQuotient uint64 `yaml:"CHURN_LIMIT_QUOTIENT"` ProposerScoreBoost uint64 `yaml:"PROPOSER_SCORE_BOOST"` DepositChainID uint64 `yaml:"DEPOSIT_CHAIN_ID"` DepositNetworkID uint64 `yaml:"DEPOSIT_NETWORK_ID"` DepositContractAddress string `yaml:"DEPOSIT_CONTRACT_ADDRESS"` // phase0 // https://github.com/ethereum/consensus-specs/blob/dev/presets/mainnet/phase0.yaml MaxCommitteesPerSlot uint64 `yaml:"MAX_COMMITTEES_PER_SLOT"` TargetCommitteeSize uint64 `yaml:"TARGET_COMMITTEE_SIZE"` MaxValidatorsPerCommittee uint64 `yaml:"MAX_VALIDATORS_PER_COMMITTEE"` ShuffleRoundCount uint64 `yaml:"SHUFFLE_ROUND_COUNT"` HysteresisQuotient uint64 `yaml:"HYSTERESIS_QUOTIENT"` HysteresisDownwardMultiplier uint64 `yaml:"HYSTERESIS_DOWNWARD_MULTIPLIER"` HysteresisUpwardMultiplier uint64 `yaml:"HYSTERESIS_UPWARD_MULTIPLIER"` SafeSlotsToUpdateJustified uint64 `yaml:"SAFE_SLOTS_TO_UPDATE_JUSTIFIED"` MinDepositAmount uint64 `yaml:"MIN_DEPOSIT_AMOUNT"` MaxEffectiveBalance uint64 `yaml:"MAX_EFFECTIVE_BALANCE"` EffectiveBalanceIncrement uint64 `yaml:"EFFECTIVE_BALANCE_INCREMENT"` MinAttestationInclusionDelay uint64 `yaml:"MIN_ATTESTATION_INCLUSION_DELAY"` SlotsPerEpoch uint64 `yaml:"SLOTS_PER_EPOCH"` MinSeedLookahead uint64 `yaml:"MIN_SEED_LOOKAHEAD"` MaxSeedLookahead uint64 `yaml:"MAX_SEED_LOOKAHEAD"` EpochsPerEth1VotingPeriod uint64 `yaml:"EPOCHS_PER_ETH1_VOTING_PERIOD"` SlotsPerHistoricalRoot uint64 `yaml:"SLOTS_PER_HISTORICAL_ROOT"` MinEpochsToInactivityPenalty uint64 `yaml:"MIN_EPOCHS_TO_INACTIVITY_PENALTY"` EpochsPerHistoricalVector uint64 `yaml:"EPOCHS_PER_HISTORICAL_VECTOR"` EpochsPerSlashingsVector uint64 `yaml:"EPOCHS_PER_SLASHINGS_VECTOR"` HistoricalRootsLimit uint64 `yaml:"HISTORICAL_ROOTS_LIMIT"` ValidatorRegistryLimit uint64 `yaml:"VALIDATOR_REGISTRY_LIMIT"` BaseRewardFactor uint64 `yaml:"BASE_REWARD_FACTOR"` WhistleblowerRewardQuotient uint64 `yaml:"WHISTLEBLOWER_REWARD_QUOTIENT"` ProposerRewardQuotient uint64 `yaml:"PROPOSER_REWARD_QUOTIENT"` InactivityPenaltyQuotient uint64 `yaml:"INACTIVITY_PENALTY_QUOTIENT"` MinSlashingPenaltyQuotient uint64 `yaml:"MIN_SLASHING_PENALTY_QUOTIENT"` ProportionalSlashingMultiplier uint64 `yaml:"PROPORTIONAL_SLASHING_MULTIPLIER"` MaxProposerSlashings uint64 `yaml:"MAX_PROPOSER_SLASHINGS"` MaxAttesterSlashings uint64 `yaml:"MAX_ATTESTER_SLASHINGS"` MaxAttestations uint64 `yaml:"MAX_ATTESTATIONS"` MaxDeposits uint64 `yaml:"MAX_DEPOSITS"` MaxVoluntaryExits uint64 `yaml:"MAX_VOLUNTARY_EXITS"` // altair // https://github.com/ethereum/consensus-specs/blob/dev/presets/mainnet/altair.yaml InvactivityPenaltyQuotientAltair uint64 `yaml:"INACTIVITY_PENALTY_QUOTIENT_ALTAIR"` MinSlashingPenaltyQuotientAltair uint64 `yaml:"MIN_SLASHING_PENALTY_QUOTIENT_ALTAIR"` ProportionalSlashingMultiplierAltair uint64 `yaml:"PROPORTIONAL_SLASHING_MULTIPLIER_ALTAIR"` SyncCommitteeSize uint64 `yaml:"SYNC_COMMITTEE_SIZE"` EpochsPerSyncCommitteePeriod uint64 `yaml:"EPOCHS_PER_SYNC_COMMITTEE_PERIOD"` MinSyncCommitteeParticipants uint64 `yaml:"MIN_SYNC_COMMITTEE_PARTICIPANTS"` // bellatrix // https://github.com/ethereum/consensus-specs/blob/dev/presets/mainnet/bellatrix.yaml InvactivityPenaltyQuotientBellatrix uint64 `yaml:"INACTIVITY_PENALTY_QUOTIENT_BELLATRIX"` MinSlashingPenaltyQuotientBellatrix uint64 `yaml:"MIN_SLASHING_PENALTY_QUOTIENT_BELLATRIX"` ProportionalSlashingMultiplierBellatrix uint64 `yaml:"PROPORTIONAL_SLASHING_MULTIPLIER_BELLATRIX"` MaxBytesPerTransaction uint64 `yaml:"MAX_BYTES_PER_TRANSACTION"` MaxTransactionsPerPayload uint64 `yaml:"MAX_TRANSACTIONS_PER_PAYLOAD"` BytesPerLogsBloom uint64 `yaml:"BYTES_PER_LOGS_BLOOM"` MaxExtraDataBytes uint64 `yaml:"MAX_EXTRA_DATA_BYTES"` // capella // https://github.com/ethereum/consensus-specs/blob/dev/presets/minimal/capella.yaml MaxWithdrawalsPerPayload uint64 `yaml:"MAX_WITHDRAWALS_PER_PAYLOAD"` MaxValidatorsPerWithdrawalSweep uint64 `yaml:"MAX_VALIDATORS_PER_WITHDRAWALS_SWEEP"` MaxBlsToExecutionChange uint64 `yaml:"MAX_BLS_TO_EXECUTION_CHANGES"` }
https://github.com/ethereum/consensus-specs/blob/dev/configs/mainnet.yaml
type Config ¶
type Config struct { Logging struct { OutputLevel string `yaml:"outputLevel" envconfig:"LOGGING_OUTPUT_LEVEL"` OutputStderr bool `yaml:"outputStderr" envconfig:"LOGGING_OUTPUT_STDERR"` FilePath string `yaml:"filePath" envconfig:"LOGGING_FILE_PATH"` FileLevel string `yaml:"fileLevel" envconfig:"LOGGING_FILE_LEVEL"` } `yaml:"logging"` Server struct { Port string `yaml:"port" envconfig:"FRONTEND_SERVER_PORT"` Host string `yaml:"host" envconfig:"FRONTEND_SERVER_HOST"` } `yaml:"server"` Chain struct { Name string `yaml:"name" envconfig:"CHAIN_NAME"` DisplayName string `yaml:"displayName" envconfig:"CHAIN_DISPLAY_NAME"` GenesisTimestamp uint64 `yaml:"genesisTimestamp" envconfig:"CHAIN_GENESIS_TIMESTAMP"` ConfigPath string `yaml:"configPath" envconfig:"CHAIN_CONFIG_PATH"` Config ChainConfig // optional features WhiskForkEpoch *uint64 `yaml:"whiskForkEpoch" envconfig:"WHISK_FORK_EPOCH"` } `yaml:"chain"` Frontend struct { Enabled bool `yaml:"enabled" envconfig:"FRONTEND_ENABLED"` Debug bool `yaml:"debug" envconfig:"FRONTEND_DEBUG"` Pprof bool `yaml:"pprof" envconfig:"FRONTEND_PPROF"` Minify bool `yaml:"minify" envconfig:"FRONTEND_MINIFY"` SiteDomain string `yaml:"siteDomain" envconfig:"FRONTEND_SITE_DOMAIN"` SiteLogo string `yaml:"siteLogo" envconfig:"FRONTEND_SITE_LOGO"` SiteName string `yaml:"siteName" envconfig:"FRONTEND_SITE_NAME"` SiteSubtitle string `yaml:"siteSubtitle" envconfig:"FRONTEND_SITE_SUBTITLE"` SiteDescription string `yaml:"siteDescription" envconfig:"FRONTEND_SITE_DESCRIPTION"` EthExplorerLink string `yaml:"ethExplorerLink" envconfig:"FRONTEND_ETH_EXPLORER_LINK"` ValidatorNamesYaml string `yaml:"validatorNamesYaml" envconfig:"FRONTEND_VALIDATOR_NAMES_YAML"` ValidatorNamesInventory string `yaml:"validatorNamesInventory" envconfig:"FRONTEND_VALIDATOR_NAMES_INVENTORY"` ValidatorNamesRefreshInterval time.Duration `yaml:"validatorNamesRefreshInterval" envconfig:"FRONTEND_VALIDATOR_REFRESH_INTERVAL"` ValidatorNamesResolveInterval time.Duration `yaml:"validatorNamesResolveInterval" envconfig:"FRONTEND_VALIDATOR_RESOLVE_INTERVAL"` PageCallTimeout time.Duration `yaml:"pageCallTimeout" envconfig:"FRONTEND_PAGE_CALL_TIMEOUT"` HttpReadTimeout time.Duration `yaml:"httpReadTimeout" envconfig:"FRONTEND_HTTP_READ_TIMEOUT"` HttpWriteTimeout time.Duration `yaml:"httpWriteTimeout" envconfig:"FRONTEND_HTTP_WRITE_TIMEOUT"` HttpIdleTimeout time.Duration `yaml:"httpIdleTimeout" envconfig:"FRONTEND_HTTP_IDLE_TIMEOUT"` AllowDutyLoading bool `yaml:"allowDutyLoading" envconfig:"FRONTEND_ALLOW_DUTY_LOADING"` } `yaml:"frontend"` RateLimit struct { Enabled bool `yaml:"enabled" envconfig:"RATELIMIT_ENABLED"` ProxyCount uint `yaml:"proxyCount" envconfig:"RATELIMIT_PROXY_COUNT"` Rate uint `yaml:"rate" envconfig:"RATELIMIT_RATE"` Burst uint `yaml:"burst" envconfig:"RATELIMIT_BURST"` } `yaml:"rateLimit"` BeaconApi struct { Endpoint string `yaml:"endpoint" envconfig:"BEACONAPI_ENDPOINT"` Endpoints []EndpointConfig `yaml:"endpoints"` LocalCacheSize int `yaml:"localCacheSize" envconfig:"BEACONAPI_LOCAL_CACHE_SIZE"` SkipFinalAssignments bool `yaml:"skipFinalAssignments" envconfig:"BEACONAPI_SKIP_FINAL_ASSIGNMENTS"` AssignmentsCacheSize int `yaml:"assignmentsCacheSize" envconfig:"BEACONAPI_ASSIGNMENTS_CACHE_SIZE"` RedisCacheAddr string `yaml:"redisCacheAddr" envconfig:"BEACONAPI_REDIS_CACHE_ADDR"` RedisCachePrefix string `yaml:"redisCachePrefix" envconfig:"BEACONAPI_REDIS_CACHE_PREFIX"` } `yaml:"beaconapi"` ExecutionApi struct { Endpoint string `yaml:"endpoint" envconfig:"EXECUTIONAPI_ENDPOINT"` Endpoints []EndpointConfig `yaml:"endpoints"` DepositLogBatchSize int `yaml:"depositLogBatchSize" envconfig:"EXECUTIONAPI_DEPOSIT_LOG_BATCH_SIZE"` } `yaml:"executionapi"` Indexer struct { ResyncFromEpoch *uint64 `yaml:"resyncFromEpoch" envconfig:"INDEXER_RESYNC_FROM_EPOCH"` ResyncForceUpdate bool `yaml:"resyncForceUpdate" envconfig:"INDEXER_RESYNC_FORCE_UPDATE"` InMemoryEpochs uint16 `yaml:"inMemoryEpochs" envconfig:"INDEXER_IN_MEMORY_EPOCHS"` CachePersistenceDelay uint16 `yaml:"cachePersistenceDelay" envconfig:"INDEXER_CACHE_PERSISTENCE_DELAY"` DisableIndexWriter bool `yaml:"disableIndexWriter" envconfig:"INDEXER_DISABLE_INDEX_WRITER"` DisableSynchronizer bool `yaml:"disableSynchronizer" envconfig:"INDEXER_DISABLE_SYNCHRONIZER"` SyncEpochCooldown uint `yaml:"syncEpochCooldown" envconfig:"INDEXER_SYNC_EPOCH_COOLDOWN"` MaxParallelValidatorSetRequests uint `yaml:"maxParallelValidatorSetRequests" envconfig:"INDEXER_MAX_PARALLEL_VALIDATOR_SET_REQUESTS"` } `yaml:"indexer"` BlobStore struct { PersistenceMode string `yaml:"persistenceMode" envconfig:"BLOBSTORE_PERSISTENCE_MODE"` NameTemplate string `yaml:"nameTemplate" envconfig:"BLOBSTORE_NAME_TEMPLATE"` Fs struct { Path string `yaml:"path" envconfig:"BLOBSTORE_FS_PATH"` } `yaml:"fs"` Aws struct { AccessKey string `yaml:"accessKey" envconfig:"BLOBSTORE_AWS_ACCESSKEY"` SecretKey string `yaml:"secretKey" envconfig:"BLOBSTORE_AWS_SECRETKEY"` S3Region string `yaml:"s3Region" envconfig:"BLOBSTORE_AWS_S3REGION"` S3Bucket string `yaml:"s3Bucket" envconfig:"BLOBSTORE_AWS_S3BUCKET"` } `yaml:"aws"` } `yaml:"blobstore"` TxSignature struct { DisableLookupLoop bool `yaml:"disableLookupLoop" envconfig:"TXSIG_DISABLE_LOOKUP_LOOP"` LookupInterval time.Duration `yaml:"lookupInterval" envconfig:"TXSIG_LOOKUP_INTERVAL"` LookupBatchSize uint64 `yaml:"lookupBatchSize" envconfig:"TXSIG_LOOKUP_INTERVAL"` ConcurrencyLimit uint64 `yaml:"concurrencyLimit" envconfig:"TXSIG_CONCURRENCY_LIMIT"` Disable4Bytes bool `yaml:"disable4Bytes" envconfig:"TXSIG_DISABLE_4BYTES"` RecheckTimeout time.Duration `yaml:"recheckTimeout" envconfig:"TXSIG_RECHECK_TIMEOUT"` } `yaml:"txsig"` MevIndexer struct { Relays []MevRelayConfig `yaml:"relays"` RefreshInterval time.Duration `yaml:"refreshInterval" envconfig:"MEVINDEXER_REFRESH_INTERVAL"` } `yaml:"mevIndexer"` Database struct { Engine string `yaml:"engine" envconfig:"DATABASE_ENGINE"` Sqlite struct { File string `yaml:"file" envconfig:"DATABASE_SQLITE_FILE"` MaxOpenConns int `yaml:"maxOpenConns" envconfig:"DATABASE_SQLITE_MAX_OPEN_CONNS"` MaxIdleConns int `yaml:"maxIdleConns" envconfig:"DATABASE_SQLITE_MAX_IDLE_CONNS"` } `yaml:"sqlite"` Pgsql struct { Username string `yaml:"user" envconfig:"DATABASE_PGSQL_USERNAME"` Password string `yaml:"password" envconfig:"DATABASE_PGSQL_PASSWORD"` Name string `yaml:"name" envconfig:"DATABASE_PGSQL_NAME"` Host string `yaml:"host" envconfig:"DATABASE_PGSQL_HOST"` Port string `yaml:"port" envconfig:"DATABASE_PGSQL_PORT"` MaxOpenConns int `yaml:"maxOpenConns" envconfig:"DATABASE_PGSQL_MAX_OPEN_CONNS"` MaxIdleConns int `yaml:"maxIdleConns" envconfig:"DATABASE_PGSQL_MAX_IDLE_CONNS"` } `yaml:"pgsql"` PgsqlWriter struct { Username string `yaml:"user" envconfig:"DATABASE_PGSQL_WRITER_USERNAME"` Password string `yaml:"password" envconfig:"DATABASE_PGSQL_WRITER_PASSWORD"` Name string `yaml:"name" envconfig:"DATABASE_PGSQL_WRITER_NAME"` Host string `yaml:"host" envconfig:"DATABASE_PGSQL_WRITER_HOST"` Port string `yaml:"port" envconfig:"DATABASE_PGSQL_WRITER_PORT"` MaxOpenConns int `yaml:"maxOpenConns" envconfig:"DATABASE_PGSQL_WRITER_MAX_OPEN_CONNS"` MaxIdleConns int `yaml:"maxIdleConns" envconfig:"DATABASE_PGSQL_WRITER_MAX_IDLE_CONNS"` } `yaml:"pgsqlWriter"` } `yaml:"database"` KillSwitch struct { DisableSSZEncoding bool `yaml:"disableSSZEncoding" envconfig:"KILLSWITCH_DISABLE_SSZ_ENCODING"` DisableSSZRequests bool `yaml:"disableSSZRequests" envconfig:"KILLSWITCH_DISABLE_SSZ_REQUESTS"` } `yaml:"killSwitch"` }
Config is a struct to hold the configuration data
type EndpointConfig ¶
type EndpointSshConfig ¶
type ForkVersion ¶
type MainMenuItem ¶
type MainMenuItem struct { Label string Path string IsActive bool HasBigGroups bool // if HasBigGroups is set to true then the NavigationGroups will be ordered horizontally and their Label will be shown Groups []NavigationGroup }
type Meta ¶
type Meta struct { Title string Description string Domain string Path string Tlabel1 string Tdata1 string Tlabel2 string Tdata2 string Templates string }
Meta is a struct to hold metadata about the page
type MevRelayConfig ¶
type NamedValidator ¶
type NavigationGroup ¶
type NavigationGroup struct {}
type NavigationLink ¶
type NavigationLink struct {}
type PageData ¶
type PageData struct { Active string Meta *Meta Data interface{} Version string BuildTime string Year int ExplorerLogo string ExplorerTitle string ExplorerSubtitle string ChainSlotsPerEpoch uint64 ChainSecondsPerSlot uint64 ChainGenesisTimestamp uint64 CurrentEpoch uint64 LatestFinalizedEpoch uint64 CurrentSlot uint64 FinalizationDelay uint64 Mainnet bool DepositContract string InfoBanner *template.HTML ClientsUpdated bool // IsUserClientUpdated func(uint64) bool ChainConfig ChainConfig Lang string NoAds bool Debug bool DebugTemplates []string MainMenuItems []MainMenuItem }
PageData is a struct to hold web page data
type PgsqlDatabaseConfig ¶
type SqliteDatabaseConfig ¶
type TxSignatureBytes ¶
type TxSignatureBytes [4]byte
type TxSignatureLookupStatus ¶
type TxSignatureLookupStatus uint8
var ( TxSigStatusPending TxSignatureLookupStatus = 0 TxSigStatusFound TxSignatureLookupStatus = 1 TxSigStatusUnknown TxSignatureLookupStatus = 2 )
Click to show internal directories.
Click to hide internal directories.