prysm-pulse/slasher/flags/flags.go
Alon Muroch a04b7c2e4f
Slasher highest source target (#7604)
* WIP - slasher highest attestation start

* fixed previous

* highest source and target

* highest attestation cache

* cleanup

* persist + fixes

* PR fixes and cleanup

* slashing proto

* highest att. api

* cleanup + tests

* increased highest att. cache to 300K

* removed highest att. api (for a separate PR)

* fixed linting

* bazel build fix

* highest att. kv test

* slasher highest att. test + purge + fix on eviction persist performance

* cleanup + linting

* linting + test fixes

* bazel gazelle run

* PR fixes

* run goimports

* go mod tidy

* ineffectual assignment fix

* run gazelle

* bazel gazelle run

* test fixes

* linter fix

* Apply suggestions from code review

Co-authored-by: Shay Zluf <thezluf@gmail.com>

* goimports run

* cache tests

* A bunch of small fixes

* gazelle fix + gofmt

* merge fixes

* kv ordering fix

* small typos and text fixes

* capital letter fix

Co-authored-by: Shay Zluf <thezluf@gmail.com>
2020-10-26 14:15:42 +02:00

67 lines
2.3 KiB
Go

// Package flags contains all configuration runtime flags for
// the slasher service.
package flags
import (
"github.com/urfave/cli/v2"
)
var (
// BeaconCertFlag defines a flag for the beacon api certificate.
BeaconCertFlag = &cli.StringFlag{
Name: "beacon-tls-cert",
Usage: "Certificate for secure beacon gRPC connection. Pass this in order to use beacon gRPC securely.",
}
// BeaconRPCProviderFlag defines a flag for the beacon host ip or address.
BeaconRPCProviderFlag = &cli.StringFlag{
Name: "beacon-rpc-provider",
Usage: "Beacon node RPC provider endpoint",
Value: "localhost:4000",
}
// 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.",
}
// MonitoringPortFlag defines the http port used to serve prometheus metrics.
MonitoringPortFlag = &cli.IntFlag{
Name: "monitoring-port",
Usage: "Port used to listening and respond metrics for prometheus.",
Value: 8082,
}
// 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: "127.0.0.1",
}
// RPCPort defines a slasher node RPC port to open.
RPCPort = &cli.IntFlag{
Name: "rpc-port",
Usage: "RPC port exposed by the slasher",
Value: 4002,
}
// EnableHistoricalDetectionFlag is a flag to enable historical detection for the slasher. Requires --historical-slasher-node on the beacon node.
EnableHistoricalDetectionFlag = &cli.BoolFlag{
Name: "enable-historical-detection",
Usage: "Enables historical attestation detection for the slasher. Requires --historical-slasher-node on the beacon node.",
}
// SpanCacheSize is a flag that sets the size of span cache.
SpanCacheSize = &cli.IntFlag{
Name: "spans-cache-size",
Usage: "Sets the span cache size.",
Value: 1500,
}
// HighestAttCacheSize is a flag that sets the size of highest attestation cache.
HighestAttCacheSize = &cli.IntFlag{
Name: "highest-att-cache-size",
Usage: "Sets the highest attestation cache size.",
Value: 3000,
}
)