Documentation
¶
Overview ¶
Package constants provides common constants used throughout the SDK.
Index ¶
Constants ¶
View Source
const ( DefaultPerms755 = 0o755 WriteReadReadPerms = 0o644 UserOnlyWriteReadExecPerms = 0o700 BaseDirName = ".cli" LogDir = "logs" ServerRunFile = "gRPCserver.run" LuxCliBinDir = "bin" RunDir = "runs" SuffixSeparator = "_" SidecarFileName = "sidecar.json" GenesisFileName = "genesis.json" ElasticNetConfigFileName = "elastic_net_config.json" NodeConfigJSONFile = "node-config.json" SidecarSuffix = SuffixSeparator + SidecarFileName GenesisSuffix = SuffixSeparator + GenesisFileName NodeFileName = "node.json" SidecarVersion = "1.4.0" MaxLogFileSize = 4 MaxNumOfLogFiles = 5 RetainOldFiles = 0 // retain all old log files RequestTimeout = 3 * time.Minute E2ERequestTimeout = 30 * time.Second ANRRequestTimeout = 3 * time.Minute APIRequestTimeout = 30 * time.Second APIRequestLargeTimeout = 2 * time.Minute SimulatePublicNetwork = "SIMULATE_PUBLIC_NETWORK" TestnetAPIEndpoint = "https://api.lux-test.network" MainnetAPIEndpoint = "http://127.0.0.1:9630" // Local mainnet for development // WebSocket endpoints MainnetWSEndpoint = "ws://127.0.0.1:9630/ext/bc/C/ws" // Local mainnet WS for development TestnetWSEndpoint = "wss://api.lux-test.network/ext/bc/C/ws" LocalWSEndpoint = "ws://127.0.0.1:9630/ext/bc/C/ws" DevnetWSEndpoint = "wss://api.lux-dev.network/ext/bc/C/ws" // Network IDs MainnetID uint32 = 1 TestnetID uint32 = 5 LocalID uint32 = 12345 // Lux Network IDs LuxMainnetID uint32 = 96369 // Lux mainnet LuxTestnetID uint32 = 96368 // Lux testnet // Network Names MainnetName = "mainnet" TestnetName = "testnet" LocalName = "local" // Cloud service constants GCPCloudService = "gcp" AWSCloudService = "aws" E2EDocker = "e2e-docker" GCPNodeAnsiblePrefix = "gcp_node" AWSNodeAnsiblePrefix = "aws_node" E2EDockerLoopbackHost = "127.0.0.1" GCPDefaultImageProvider = "canonical" GCPImageFilter = "ubuntu-os-cloud" CloudNodeCLIConfigBasePath = "/home/ubuntu/.cli" CodespaceNameEnvVar = "CODESPACE_NAME" AnsibleSSHShellParams = "-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" RemoteSSHUser = "ubuntu" StakerCertFileName = "staker.crt" StakerKeyFileName = "staker.key" BLSKeyFileName = "bls.key" ValidatorUptimeDeductible = 5 * time.Minute // SSH constants SSHSleepBetweenChecks = 1 * time.Second SSHFileOpsTimeout = 10 * time.Second SSHScriptTimeout = 120 * time.Second SSHPOSTTimeout = 30 * time.Second SSHDirOpsTimeout = 30 * time.Second // Docker constants DockerNodeConfigPath = "/data/.luxgo/configs" WriteReadUserOnlyPerms = 0o600 // AWS constants AWSCloudServerRunningState = "running" // this depends on bootstrap snapshot LocalAPIEndpoint = "http://127.0.0.1:9630" DevnetAPIEndpoint = "https://api.lux-dev.network" LocalNetworkID = 96369 // Use Lux mainnet ID for local development AvalancheLocalNetworkID = 31337 // Avalanche's local network ID (used by netrunner in some configs) NetrunnerLocalNetworkID = 1337 // Network ID used by netrunner for local testing DefaultTokenName = "TEST" // Default versions DefaultLuxdVersion = "v1.13.4" // Staking constants BootstrapValidatorBalanceNanoLUX = 1_000_000_000_000 // 1000 LUX PoSL1MinimumStakeDurationSeconds = 86400 // 24 hours // Logging DefaultAggregatorLogLevel = "INFO" // Git GitExtension = ".git" // Ansible AnsibleHostInventoryFileName = "hosts" AnsibleSSHUseAgentParams = "-o ForwardAgent=yes" // Cloud node CloudNodeConfigPath = "/home/ubuntu/.luxgo/configs" CloudNodePrometheusConfigPath = "/home/ubuntu/.luxgo/configs/prometheus" CloudNodeStakingPath = "/home/ubuntu/.luxgo/staking" UpgradeFileName = "upgrade.json" NodePrometheusConfigFileName = "prometheus.yml" ServicesDir = "services" WarpRelayerInstallDir = "warp-relayer" WarpRelayerConfigFilename = "warp-relayer.yml" // Config keys ConfigSnapshotsAutoSaveKey = "SnapshotsAutoSaveEnabled" ConfigUpdatesDisabledKey = "UpdatesDisabled" // Build environment BuildEnvGolangVersion = "1.24.5" // Docker images and repos LuxdDockerImage = "luxfi/luxd" LuxdGitRepo = "https://github.com/luxfi/node" LuxdRepoName = "luxfi/node" // Organizations LuxOrg = "luxfi" // Repo names LuxRepoName = "node" EVMRepoName = "evm" // Install directories LuxInstallDir = "lux" LuxGoInstallDir = "luxgo" EVMInstallDir = "evm" // Directories ChainsDir = "chains" // Canonical chain definitions (genesis, sidecar, config) NetDir = "nets" // Deprecated: use ChainsDir instead DevDir = "dev" // Dev mode data directory ReposDir = "repos" SnapshotsDirName = "snapshots" CustomVMDir = "customvms" PluginDir = "plugins" CurrentPluginDir = "current" // Active plugins symlinked here ConfigDir = "config" KeyDir = "keys" LPMPluginDir = "lpm-plugins" // Cloud node paths CloudNodeEVMBinaryPath = "/home/ubuntu/.cli/bin/evm" // File names UpgradeBytesFileName = "upgrade.json" LPMLogName = "lpm.log" OldConfigFileName = ".cli-config.json" OldMetricsConfigFileName = ".cli-metrics.json" ConfigLPMAdminAPIEndpointKey = "lpm-admin-api-endpoint" ConfigLPMCredentialsFileKey = "lpm-credentials-file" // Devnet flags DevnetFlagsProposerVMUseCurrentHeight = true // This is a boolean flag // File names AliasesFileName = "aliases.json" // Directories DashboardsDir = "dashboards" // Grafana CustomGrafanaDashboardJSON = "custom_dashboard.json" // Config metrics keys ConfigMetricsUserIDKey = "metrics-user-id" ConfigMetricsEnabledKey = "metrics-enabled" ConfigAuthorizeCloudAccessKey = "authorize-cloud-access" // Environment variables MetricsAPITokenEnvVarName = "METRICS_API_TOKEN" HealthCheckInterval = 100 * time.Millisecond // it's unlikely anyone would want to name a snapshot `default` // but let's add some more entropy DefaultSnapshotName = "default-1654102509" BootstrapSnapshotArchiveName = "bootstrapSnapshot.tar.gz" BootstrapSnapshotLocalPath = "assets/" + BootstrapSnapshotArchiveName BootstrapSnapshotURL = "https://github.com/luxfi/cli/raw/main/" + BootstrapSnapshotLocalPath BootstrapSnapshotSHA256URL = "https://github.com/luxfi/cli/raw/main/assets/sha256sum.txt" CliInstallationURL = "https://raw.githubusercontent.com/luxfi/cli/main/scripts/install.sh" ExpectedCliInstallErr = "resource temporarily unavailable" KeySuffix = ".pk" YAMLSuffix = ".yml" Enable = "enable" Disable = "disable" TimeParseLayout = "2006-01-02 15:04:05" MinStakeDuration = 24 * 14 * time.Hour MaxStakeDuration = 24 * 365 * time.Hour MaxStakeWeight = 100 MinStakeWeight = 1 DefaultStakeWeight = 20 // The absolute minimum is 25 seconds, but set to 1 minute to allow for // time to go through the command StakingStartLeadTime = 1 * time.Minute StakingMinimumLeadTime = 25 * time.Second DefaultConfigFileName = ".cli" DefaultConfigFileType = "json" CliRepoName = "cli" EVMBin = "evm" DefaultNodeRunURL = "http://127.0.0.1:9630" // Latest EVM version LatestEVMVersion = "v0.7.7" LPMDir = ".lpm" // Network ports SSHTCPPort = 22 LuxdAPIPort = 9650 LuxdGrafanaPort = 3000 // Node roles APIRole = "api" ValidatorRole = "validator" // Cluster config ClustersConfigFileName = "clusters.json" MonitorRole = "monitor" WarpRelayerRole = "warp-relayer" // Warp constants WarpDir = "warp" WarpBranch = "main" WarpURL = "https://github.com/luxfi/warp.git" WarpKeyName = "warp" WarpVersion = "v1.0.0" // Relayer constants DefaultRelayerVersion = "v1.0.0" // Payment messages PayTxsFeesMsg = "pay transaction fees" // Units OneLux = 1_000_000_000 // 1 LUX = 1e9 nLUX )
View Source
const ( // HTTPAccess values HTTPAccessPublic HTTPAccess = "public" HTTPAccessPrivate HTTPAccess = "private" // SSH timeouts SSHLongRunningScriptTimeout = 10 * time.Minute DefaultLuxPackage = "luxfi/plugins-core" // #nosec G101 GithubAPITokenEnvVarName = "LUX_CLI_GITHUB_TOKEN" VMDir = "vms" ChainConfigDir = "chains" NetType = "net type" SubnetType = NetType // Alias for backward compatibility NetConfigFileName = "net.json" SubnetConfigFileName = NetConfigFileName // Alias for backward compatibility ChainConfigFileName = "chain.json" PerNodeChainConfigFileName = "per-node-chain.json" GitRepoCommitName = "Lux CLI" GitRepoCommitEmail = "info@lux.network" LuxMaintainers = "luxfi" UpgradeBytesLockExtension = ".lock" NotAvailableLabel = "Not available" BackendCmd = "cli-backend" LuxCompatibilityVersionAdded = "v1.9.2" LuxCompatibilityURL = "https://raw.githubusercontent.com/luxfi/node/master/version/compatibility.json" LuxdCompatibilityURL = LuxCompatibilityURL // Alias for backward compatibility EVMRPCCompatibilityURL = "https://raw.githubusercontent.com/luxfi/evm/main/compatibility.json" CLIMinVersionURL = "https://raw.githubusercontent.com/luxfi/cli/main/min-version.json" YesLabel = "Yes" NoLabel = "No" // Default Warp Messenger Address DefaultWarpMessengerAddress = "0x0000000000000000000000000000000000000005" // C-Chain Warp Registry Addresses MainnetCChainWarpRegistryAddress = "0x0000000000000000000000000000000000000006" NetIDLabel = "NetID: " SubnetIDLabel = NetIDLabel // Alias for backward compatibility BlockchainIDLabel = "BlockchainID: " Network = "network" SkipUpdateFlag = "skip-update-check" LastFileName = ".last_actions.json" DefaultWalletCreationTimeout = 5 * time.Second DefaultConfirmTxTimeout = 20 * time.Second // Cloud and network constants CloudOperationTimeout = 5 * time.Minute LuxdP2PPort = 9651 LuxdMonitoringPort = 9090 LuxdLokiPort = 23101 GCPStaticIPPrefix = "lux-" CloudServerStorageSize = 100 // GB MonitoringCloudServerStorageSize = 200 // GB ErrReleasingGCPStaticIP = "error releasing GCP static IP" IPAddressSuffix = "-ip" // Local network constants ExtraLocalNetworkDataFilename = "extra_local_network_data.json" LocalNetworkMetaFile = "local_network_meta.json" FastGRPCDialTimeout = 3 * time.Second )
Variables ¶
View Source
var ( ErrNoBlockchainID = errors.New("\n\nNo blockchainID found. To resolve this:\n- Use 'lux blockchain deploy' to deploy the blockchain and generate a blockchainID.\n- Or use 'lux blockchain import' to import an existing configuration.\n") //nolint:stylecheck ErrNoNetID = errors.New("\n\nNo netID found. To resolve this:\n- Use 'lux blockchain deploy' to create the network and generate a netID.\n- Or use 'lux blockchain import' to import an existing configuration.\n") //nolint:stylecheck ErrNoSubnetID = ErrNoNetID // Alias for backward compatibility ErrInvalidValidatorManagerAddress = errors.New("invalid validator manager address") ErrKeyNotFoundOnMap = errors.New("key not found on map") )
Functions ¶
This section is empty.
Types ¶
type HTTPAccess ¶ added in v0.2.0
type HTTPAccess string
HTTPAccess represents HTTP access configuration
Click to show internal directories.
Click to hide internal directories.