2019-07-23 13:58:20 +00:00
package flags
2018-07-19 16:31:50 +00:00
import (
2020-03-19 21:46:44 +00:00
"gopkg.in/urfave/cli.v2"
2018-07-19 16:31:50 +00:00
)
var (
2019-04-18 23:53:37 +00:00
// HTTPWeb3ProviderFlag provides an HTTP access endpoint to an ETH 1.0 RPC.
2020-03-19 21:46:44 +00:00
HTTPWeb3ProviderFlag = & cli . StringFlag {
2019-04-18 23:53:37 +00:00
Name : "http-web3provider" ,
Usage : "A mainchain web3 provider string http endpoint" ,
Value : "https://goerli.prylabs.net" ,
}
2018-07-19 16:31:50 +00:00
// Web3ProviderFlag defines a flag for a mainchain RPC endpoint.
2020-03-19 21:46:44 +00:00
Web3ProviderFlag = & cli . StringFlag {
2018-07-19 16:31:50 +00:00
Name : "web3provider" ,
2019-03-04 20:10:03 +00:00
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" ,
2018-07-19 16:31:50 +00:00
}
2019-02-13 19:08:28 +00:00
// DepositContractFlag defines a flag for the deposit contract address.
2020-03-19 21:46:44 +00:00
DepositContractFlag = & cli . StringFlag {
2019-02-13 19:08:28 +00:00
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." ,
2020-02-24 17:24:05 +00:00
Value : "0x4689a3C63CE249355C8a573B5974db21D2d1b8Ef" ,
2018-07-19 16:31:50 +00:00
}
2020-01-17 02:18:26 +00:00
// RPCHost defines the host on which the RPC server should listen.
2020-03-19 21:46:44 +00:00
RPCHost = & cli . StringFlag {
2020-01-17 02:18:26 +00:00
Name : "rpc-host" ,
Usage : "Host on which the RPC server should listen" ,
Value : "0.0.0.0" ,
}
2018-08-01 22:08:44 +00:00
// RPCPort defines a beacon node RPC port to open.
2020-03-19 21:46:44 +00:00
RPCPort = & cli . IntFlag {
2018-08-01 22:08:44 +00:00
Name : "rpc-port" ,
Usage : "RPC port exposed by a beacon node" ,
2019-06-02 15:33:44 +00:00
Value : 4000 ,
2018-08-01 22:08:44 +00:00
}
2020-01-16 21:19:43 +00:00
// RPCMaxPageSize defines the maximum numbers per page returned in RPC responses from this
// beacon node (default: 500).
2020-03-19 21:46:44 +00:00
RPCMaxPageSize = & cli . IntFlag {
2020-01-16 21:19:43 +00:00
Name : "rpc-max-page-size" ,
2020-03-19 21:46:44 +00:00
Usage : "Max number of items returned per page in RPC responses for paginated endpoints." ,
2020-01-16 21:19:43 +00:00
Value : 500 ,
}
2018-08-08 22:43:25 +00:00
// CertFlag defines a flag for the node's TLS certificate.
2020-03-19 21:46:44 +00:00
CertFlag = & cli . StringFlag {
2018-08-08 22:43:25 +00:00
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.
2020-03-19 21:46:44 +00:00
KeyFlag = & cli . StringFlag {
2018-08-08 22:43:25 +00:00
Name : "tls-key" ,
Usage : "Key for secure gRPC. Pass this and the tls-cert flag in order to use gRPC securely." ,
}
2019-06-02 15:33:44 +00:00
// GRPCGatewayPort enables a gRPC gateway to be exposed for Prysm.
2020-03-19 21:46:44 +00:00
GRPCGatewayPort = & cli . IntFlag {
2019-06-02 15:33:44 +00:00
Name : "grpc-gateway-port" ,
Usage : "Enable gRPC gateway for JSON requests" ,
}
2019-12-13 15:12:49 +00:00
// MinSyncPeers specifies the required number of successful peer handshakes in order
// to start syncing with external peers.
2020-03-19 21:46:44 +00:00
MinSyncPeers = & cli . IntFlag {
2019-12-13 15:12:49 +00:00
Name : "min-sync-peers" ,
Usage : "The required number of valid peers to connect with before syncing." ,
Value : 3 ,
}
2020-01-16 01:46:15 +00:00
// ContractDeploymentBlock is the block in which the eth1 deposit contract was deployed.
2020-03-19 21:46:44 +00:00
ContractDeploymentBlock = & cli . IntFlag {
2020-01-16 01:46:15 +00:00
Name : "contract-deployment-block" ,
Usage : "The eth1 block in which the deposit contract was deployed." ,
Value : 1960177 ,
}
2020-02-18 00:37:37 +00:00
// SetGCPercent is the percentage of current live allocations at which the garbage collector is to run.
2020-03-19 21:46:44 +00:00
SetGCPercent = & cli . IntFlag {
2020-02-18 00:37:37 +00:00
Name : "gc-percent" ,
Usage : "The percentage of freshly allocated data to live data on which the gc will be run again." ,
Value : 100 ,
}
2020-02-19 08:25:07 +00:00
// UnsafeSync starts the beacon node from the previously saved head state and syncs from there.
2020-03-19 21:46:44 +00:00
UnsafeSync = & cli . BoolFlag {
2020-02-19 08:25:07 +00:00
Name : "unsafe-sync" ,
Usage : "Starts the beacon node with the previously saved head state instead of finalized state." ,
}
2020-01-09 04:49:32 +00:00
// SlasherCertFlag defines a flag for the slasher TLS certificate.
2020-03-19 21:46:44 +00:00
SlasherCertFlag = & cli . StringFlag {
2020-01-09 04:49:32 +00:00
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.
2020-03-19 21:46:44 +00:00
SlasherProviderFlag = & cli . StringFlag {
2020-01-09 04:49:32 +00:00
Name : "slasher-provider" ,
Usage : "A slasher provider string endpoint. Can either be an grpc server endpoint." ,
Value : "127.0.0.1:5000" ,
}
2020-03-06 23:06:01 +00:00
// SlotsPerArchivedPoint specifies the number of slots between the archived points, to save beacon state in the cold
// section of DB.
2020-03-19 21:46:44 +00:00
SlotsPerArchivedPoint = & cli . IntFlag {
2020-03-06 23:06:01 +00:00
Name : "slots-per-archive-point" ,
Usage : "The slot durations of when an archived state gets saved in the DB." ,
Value : 128 ,
}
2018-07-19 16:31:50 +00:00
)