Documentation ¶
Overview ¶
Package flags defines beacon-node specific runtime flags for setting important values such as ports, eth1 endpoints, and more.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ArchiveEnableFlag defines whether or not the beacon chain should archive // historical blocks, attestations, and validator set changes. ArchiveEnableFlag = &cli.BoolFlag{ Name: "archive", Usage: "Whether or not beacon chain should archive historical data including blocks, attestations, and validator set changes", } // ArchiveValidatorSetChangesFlag defines whether or not the beacon chain should archive // historical validator set changes in persistent storage. ArchiveValidatorSetChangesFlag = &cli.BoolFlag{ Name: "archive-validator-set-changes", Usage: "Whether or not beacon chain should archive historical validator set changes", } // ArchiveBlocksFlag defines whether or not the beacon chain should archive // historical block data in persistent storage. ArchiveBlocksFlag = &cli.BoolFlag{ Name: "archive-blocks", Usage: "Whether or not beacon chain should archive historical blocks", } // ArchiveAttestationsFlag defines whether or not the beacon chain should archive // historical attestation data in persistent storage. ArchiveAttestationsFlag = &cli.BoolFlag{ Name: "archive-attestations", Usage: "Whether or not beacon chain should archive historical blocks", } )
View Source
var ( // HTTPWeb3ProviderFlag provides an HTTP access endpoint to an ETH 1.0 RPC. HTTPWeb3ProviderFlag = &cli.StringFlag{ Name: "http-web3provider", Usage: "A mainchain web3 provider string http endpoint", Value: "https://goerli.prylabs.net", } // Web3ProviderFlag defines a flag for a mainchain RPC endpoint. Web3ProviderFlag = &cli.StringFlag{ Name: "web3provider", Usage: "A mainchain web3 provider string endpoint. Can either be an IPC file string or a WebSocket endpoint. Cannot be an HTTP endpoint.", Value: "wss://goerli.prylabs.net/websocket", } // DepositContractFlag defines a flag for the deposit contract address. DepositContractFlag = &cli.StringFlag{ Name: "deposit-contract", Usage: "Deposit contract address. Beacon chain node will listen logs coming from the deposit contract to determine when validator is eligible to participate.", Value: "0x5cA1e00004366Ac85f492887AAab12d0e6418876", } // RPCHost defines the host on which the RPC server should listen. RPCHost = &cli.StringFlag{ Name: "rpc-host", Usage: "Host on which the RPC server should listen", Value: "0.0.0.0", } // RPCPort defines a beacon node RPC port to open. RPCPort = &cli.IntFlag{ Name: "rpc-port", Usage: "RPC port exposed by a beacon node", Value: 4000, } // RPCMaxPageSize defines the maximum numbers per page returned in RPC responses from this // beacon node (default: 500). RPCMaxPageSize = &cli.IntFlag{ Name: "rpc-max-page-size", Usage: "Max number of items returned per page in RPC responses for paginated endpoints.", Value: 500, } // MonitoringPortFlag defines the http port used to serve prometheus metrics. MonitoringPortFlag = &cli.Int64Flag{ Name: "monitoring-port", Usage: "Port used to listening and respond metrics for prometheus.", Value: 8080, } // CertFlag defines a flag for the node's TLS certificate. CertFlag = &cli.StringFlag{ Name: "tls-cert", Usage: "Certificate for secure gRPC. Pass this and the tls-key flag in order to use gRPC securely.", } // KeyFlag defines a flag for the node's TLS key. KeyFlag = &cli.StringFlag{ Name: "tls-key", Usage: "Key for secure gRPC. Pass this and the tls-cert flag in order to use gRPC securely.", } // GRPCGatewayPort enables a gRPC gateway to be exposed for Prysm. GRPCGatewayPort = &cli.IntFlag{ Name: "grpc-gateway-port", Usage: "Enable gRPC gateway for JSON requests", } // GPRCGatewayCorsDomain serves preflight requests when serving gRPC JSON gateway. GPRCGatewayCorsDomain = &cli.StringFlag{ Name: "grpc-gateway-corsdomain", Usage: "Comma separated list of domains from which to accept cross origin requests " + "(browser enforced). This flag has no effect if not used with --grpc-gateway-port.", } // MinSyncPeers specifies the required number of successful peer handshakes in order // to start syncing with external peers. MinSyncPeers = &cli.IntFlag{ Name: "min-sync-peers", Usage: "The required number of valid peers to connect with before syncing.", Value: 3, } // ContractDeploymentBlock is the block in which the eth1 deposit contract was deployed. ContractDeploymentBlock = &cli.IntFlag{ Name: "contract-deployment-block", Usage: "The eth1 block in which the deposit contract was deployed.", Value: 2523557, } // SetGCPercent is the percentage of current live allocations at which the garbage collector is to run. SetGCPercent = &cli.IntFlag{ Name: "gc-percent", Usage: "The percentage of freshly allocated data to live data on which the gc will be run again.", Value: 100, } // UnsafeSync starts the beacon node from the previously saved head state and syncs from there. UnsafeSync = &cli.BoolFlag{ Name: "unsafe-sync", Usage: "Starts the beacon node with the previously saved head state instead of finalized state.", } // SlasherCertFlag defines a flag for the slasher TLS certificate. SlasherCertFlag = &cli.StringFlag{ Name: "slasher-tls-cert", Usage: "Certificate for secure slasher gRPC connection. Pass this in order to use slasher gRPC securely.", } // SlasherProviderFlag defines a flag for a slasher RPC provider. SlasherProviderFlag = &cli.StringFlag{ Name: "slasher-provider", Usage: "A slasher provider string endpoint. Can either be an grpc server endpoint.", Value: "127.0.0.1:5000", } // SlotsPerArchivedPoint specifies the number of slots between the archived points, to save beacon state in the cold // section of DB. SlotsPerArchivedPoint = &cli.IntFlag{ Name: "slots-per-archive-point", Usage: "The slot durations of when an archived state gets saved in the DB.", Value: 128, } // DisableDiscv5 disables running discv5. DisableDiscv5 = &cli.BoolFlag{ Name: "disable-discv5", Usage: "Does not run the discoveryV5 dht.", } // BlockBatchLimit specifies the requested block batch size. BlockBatchLimit = &cli.IntFlag{ Name: "block-batch-limit", Usage: "The amount of blocks the local peer is bounded to request and respond to in a batch.", Value: 64, } // BlockBatchLimitBurstFactor specifies the factor by which block batch size may increase. BlockBatchLimitBurstFactor = &cli.IntFlag{ Name: "block-batch-limit-burst-factor", Usage: "The factor by which block batch limit may increase on burst.", Value: 10, } // EnableDebugRPCEndpoints as /v1/beacon/state. EnableDebugRPCEndpoints = &cli.BoolFlag{ Name: "enable-debug-rpc-endpoints", Usage: "Enables the debug rpc service, containing utility endpoints such as /eth/v1alpha1/beacon/state. Requires --new-state-mgmt", } )
View Source
var ( // InteropGenesisStateFlag defines a flag for the beacon node to load genesis state via file. InteropGenesisStateFlag = &cli.StringFlag{ Name: "interop-genesis-state", Usage: "The genesis state file (.SSZ) to load from", } // InteropMockEth1DataVotesFlag enables mocking the eth1 proof-of-work chain data put into blocks by proposers. InteropMockEth1DataVotesFlag = &cli.BoolFlag{ Name: "interop-eth1data-votes", Usage: "Enable mocking of eth1 data votes for proposers to package into blocks", } // InteropGenesisTimeFlag specifies genesis time for state generation. InteropGenesisTimeFlag = &cli.Uint64Flag{ Name: "interop-genesis-time", Usage: "Specify the genesis time for interop genesis state generation. Must be used with " + "--interop-num-validators", } // InteropNumValidatorsFlag specifies number of genesis validators for state generation. InteropNumValidatorsFlag = &cli.Uint64Flag{ Name: "interop-num-validators", Usage: "Specify number of genesis validators to generate for interop. Must be used with --interop-genesis-time", } )
Functions ¶
func ConfigureGlobalFlags ¶
func ConfigureGlobalFlags(ctx *cli.Context)
ConfigureGlobalFlags initializes the global config. based on the provided cli context.
func Init ¶
func Init(c *GlobalFlags)
Init sets the global config equal to the config that is passed in.
Types ¶
type GlobalFlags ¶
type GlobalFlags struct { EnableArchive bool EnableArchivedValidatorSetChanges bool EnableArchivedBlocks bool EnableArchivedAttestations bool UnsafeSync bool DisableDiscv5 bool MinimumSyncPeers int MaxPageSize int DeploymentBlock int BlockBatchLimit int BlockBatchLimitBurstFactor int }
GlobalFlags specifies all the global flags for the beacon node.
Click to show internal directories.
Click to hide internal directories.