Documentation ¶
Index ¶
Constants ¶
View Source
const (
TCP = "tcp"
)
Networking constants
Variables ¶
View Source
var ( Version = version.NewDefaultApplication(constants.PlatformName, 1, 4, 4) MinimumCompatibleVersion = version.NewDefaultApplication(constants.PlatformName, 1, 4, 0) PrevMinimumCompatibleVersion = version.NewDefaultApplication(constants.PlatformName, 1, 3, 0) MinimumUnmaskedVersion = version.NewDefaultApplication(constants.PlatformName, 1, 1, 0) PrevMinimumUnmaskedVersion = version.NewDefaultApplication(constants.PlatformName, 1, 0, 0) VersionParser = version.NewDefaultApplicationParser() DatabaseVersion = version.NewDefaultVersion(1, 4, 4) PrevDatabaseVersion = version.NewDefaultVersion(1, 0, 0) ApricotPhase0Times = map[uint32]time.Time{ constants.MainnetID: time.Date(2020, time.December, 8, 3, 0, 0, 0, time.UTC), constants.FujiID: time.Date(2020, time.December, 5, 5, 0, 0, 0, time.UTC), } ApricotPhase0DefaultTime = time.Date(2020, time.December, 5, 5, 0, 0, 0, time.UTC) ApricotPhase1Times = map[uint32]time.Time{ constants.MainnetID: time.Date(2021, time.March, 31, 14, 0, 0, 0, time.UTC), constants.FujiID: time.Date(2021, time.March, 26, 14, 0, 0, 0, time.UTC), } ApricotPhase1DefaultTime = time.Date(2020, time.December, 5, 5, 0, 0, 0, time.UTC) ApricotPhase2Times = map[uint32]time.Time{ constants.MainnetID: time.Date(2021, time.May, 10, 11, 0, 0, 0, time.UTC), constants.FujiID: time.Date(2021, time.May, 5, 14, 0, 0, 0, time.UTC), } ApricotPhase2DefaultTime = time.Date(2020, time.December, 5, 5, 0, 0, 0, time.UTC) )
Functions ¶
func GetApricotPhase0Time ¶ added in v1.3.2
func GetApricotPhase1Time ¶ added in v1.3.2
func GetApricotPhase2Time ¶ added in v1.4.0
Types ¶
type Config ¶
type Config struct { genesis.Params // If true, bootstrap the current database version and then end the node. FetchOnly bool // Genesis information GenesisBytes []byte AvaxAssetID ids.ID // protocol to use for opening the network interface Nat nat.Router // Attempted NAT Traversal did we attempt AttemptedNATTraversal bool // ID of the network this node should connect to NetworkID uint32 // Assertions configuration EnableAssertions bool // Crypto configuration EnableCrypto bool // Path to database DBPath string // If false, uses an in memory database DBEnabled bool // Staking configuration StakingIP utils.DynamicIPDesc EnableStaking bool StakingTLSCert tls.Certificate DisabledStakingWeight uint64 // Throttling MaxNonStakerPendingMsgs uint32 StakerMSGPortion float64 StakerCPUPortion float64 SendQueueSize uint32 MaxPendingMsgs uint32 // Health HealthCheckFreq time.Duration // Network configuration NetworkConfig timer.AdaptiveTimeoutConfig NetworkHealthConfig network.HealthConfig PeerListSize uint32 PeerListGossipSize uint32 PeerListGossipFreq time.Duration // Benchlist Configuration BenchlistConfig benchlist.Config // Bootstrapping configuration BootstrapPeers []*Peer // HTTP configuration HTTPHost string HTTPPort uint16 HTTPSEnabled bool HTTPSKeyFile string HTTPSCertFile string APIRequireAuthToken bool APIAuthPassword string APIAllowedOrigins []string // Enable/Disable APIs AdminAPIEnabled bool InfoAPIEnabled bool KeystoreAPIEnabled bool MetricsAPIEnabled bool HealthAPIEnabled bool IndexAPIEnabled bool // Logging configuration LoggingConfig logging.Config // Plugin directory PluginDir string // Consensus configuration ConsensusParams avalanche.Parameters // IPC configuration IPCAPIEnabled bool IPCPath string IPCDefaultChainIDs []string // Router that is used to handle incoming consensus messages ConsensusRouter router.Router RouterHealthConfig router.HealthConfig ConsensusGossipFrequency time.Duration ConsensusShutdownTimeout time.Duration // Dynamic Update duration for IP or NAT traversal DynamicUpdateDuration time.Duration DynamicPublicIPResolver dynamicip.Resolver // Throttling incoming connections ConnMeterResetDuration time.Duration ConnMeterMaxConns int // Subnet Whitelist WhitelistedSubnets ids.Set // Coreth CorethConfig string IndexAllowIncomplete bool // Should Bootstrap be retried RetryBootstrap bool // Max number of times to retry bootstrap RetryBootstrapMaxAttempts int // Timeout when connecting to bootstrapping beacons BootstrapBeaconConnectionTimeout time.Duration // Peer alias configuration PeerAliasTimeout time.Duration // ChainConfigs ChainConfigs map[ids.ID]chains.ChainConfig }
Config contains all of the configurations of an Avalanche node.
type Node ¶
type Node struct { Log logging.Logger LogFactory logging.Factory HTTPLog logging.Logger // This node's unique ID used when communicating with other nodes // (in consensus, for example) ID ids.ShortID // Storage for this node DBManager manager.Manager DB database.Database // dispatcher for events as they happen in consensus DecisionDispatcher *triggers.EventDispatcher ConsensusDispatcher *triggers.EventDispatcher IPCs *ipcs.ChainIPCs // Net runs the networking stack Net network.Network // Handles HTTP API calls APIServer server.Server // This node's configuration Config *Config // Incremented only once on initialization. // Decremented when node is done shutting down. DoneShuttingDown sync.WaitGroup // contains filtered or unexported fields }
Node is an instance of an Avalanche node.
Click to show internal directories.
Click to hide internal directories.