From f59aeac991cada8f765cfe3ced418b10ec0b3666 Mon Sep 17 00:00:00 2001 From: owenwahlgren Date: Wed, 13 Nov 2024 11:59:07 -0500 Subject: [PATCH 01/13] rename CLI heading -> L1, remove local network & pause resume from meta.json --- app/(home)/page.client.tsx | 8 ++++---- app/layout.config.tsx | 8 ++++---- content/docs/avalanche-l1s/meta.json | 2 -- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/app/(home)/page.client.tsx b/app/(home)/page.client.tsx index 11007d3d18d..23f94f9b6e6 100644 --- a/app/(home)/page.client.tsx +++ b/app/(home)/page.client.tsx @@ -5,7 +5,7 @@ import React, { Fragment, type ReactElement, } from 'react'; -import { IndentDecrease, Layers, MailIcon, MonitorCheck, Settings, SproutIcon, SquareGanttChart, TerminalIcon, Webhook, HomeIcon, FolderCode, BadgeDollarSign, CpuIcon, Files, Folder, Globe, Link, SquareIcon, ArrowLeftRight, Coins, SquareCode, SquareStackIcon, Triangle, ChevronDownIcon } from 'lucide-react'; +import { IndentDecrease, Layers, MailIcon, MonitorCheck, Settings, SproutIcon, SquareGanttChart, TerminalIcon, Webhook, HomeIcon, FolderCode, BadgeDollarSign, CpuIcon, Files, Folder, Globe, Link, SquareIcon, ArrowLeftRight, Coins, SquareCode, SquareStackIcon, Triangle, ChevronDownIcon, Pyramid } from 'lucide-react'; import { RootToggle } from 'fumadocs-ui/components/layout/root-toggle'; import { Menu, Transition } from '@headlessui/react' @@ -125,15 +125,15 @@ export function HamburgerMenu(): React.ReactElement { url: '/dapps', }, { - title: 'Avalanche CLI', + title: 'Avalanche L1s', description: 'Build Your L1 Blockchain', icon: , url: '/avalanche-l1s', }, { - title: 'EVM L1s', + title: 'EVM Customization', description: 'Customize the Ethereum VM', - icon: , + icon: , url: '/evm-l1s', }, { diff --git a/app/layout.config.tsx b/app/layout.config.tsx index 735cf0e4312..c24add07f57 100644 --- a/app/layout.config.tsx +++ b/app/layout.config.tsx @@ -2,7 +2,7 @@ import { type BaseLayoutProps, type DocsLayoutProps } from 'fumadocs-ui/layout'; import { Title, HomeTitle } from '@/app/layout.client'; import { docsPageTree } from '@/utils/docs-loader'; import { RootToggle } from 'fumadocs-ui/components/layout/root-toggle'; -import { MailIcon, SproutIcon, SquareGanttChart, IndentDecrease, Layers, MonitorCheck, Settings, Webhook, Server, FolderCode } from 'lucide-react'; +import { MailIcon, SproutIcon, SquareGanttChart, IndentDecrease, Layers, MonitorCheck, Settings, Webhook, Pyramid } from 'lucide-react'; // home page configuration (HomeTitle includes hamburger menu) export const homebaseOptions: BaseLayoutProps = { @@ -68,15 +68,15 @@ export const docsOptions: DocsLayoutProps = { url: '/dapps', }, { - title: 'Avalanche CLI', + title: 'Avalanche L1s', description: 'Build Your L1 Blockchain', icon: , url: '/avalanche-l1s', }, { - title: 'EVM L1s', + title: 'EVM Customization', description: 'Customize the Ethereum VM', - icon: , + icon: , url: '/evm-l1s', }, { diff --git a/content/docs/avalanche-l1s/meta.json b/content/docs/avalanche-l1s/meta.json index 7f049290873..621abea7689 100644 --- a/content/docs/avalanche-l1s/meta.json +++ b/content/docs/avalanche-l1s/meta.json @@ -8,7 +8,6 @@ "build-first-avalanche-l1", "avalanche-l1-nodes", "---Deploy an Avalanche L1---", - "deploy-a-avalanche-l1/local-network", "deploy-a-avalanche-l1/fuji-testnet", "deploy-a-avalanche-l1/avalanche-mainnet", "deploy-a-avalanche-l1/production-infrastructure", @@ -16,7 +15,6 @@ "deploy-a-avalanche-l1/custom-virtual-machine", "---Maintain an Avalanche L1---", "maintain/view-avalanche-l1s", - "maintain/pause-resume", "maintain/delete-avalanche-l1", "maintain/transfer-pchain-funds", "---Upgrade an Avalanche L1---", From 5570554e1ed23fbcfc0ddb1305ca19a0ca2f0565 Mon Sep 17 00:00:00 2001 From: owenwahlgren Date: Wed, 13 Nov 2024 14:38:34 -0500 Subject: [PATCH 02/13] autogen cli docs, update create command w poa/pos --- .../avalanche-cli-avalanche-l1s.mdx | 1241 ----- .../build-first-avalanche-l1.mdx | 14 + content/docs/tooling/avalanche-cli.mdx | 4048 +++++++++++++---- 3 files changed, 3168 insertions(+), 2135 deletions(-) delete mode 100644 content/docs/avalanche-l1s/avalanche-cli-avalanche-l1s.mdx diff --git a/content/docs/avalanche-l1s/avalanche-cli-avalanche-l1s.mdx b/content/docs/avalanche-l1s/avalanche-cli-avalanche-l1s.mdx deleted file mode 100644 index b087ea7ee4d..00000000000 --- a/content/docs/avalanche-l1s/avalanche-cli-avalanche-l1s.mdx +++ /dev/null @@ -1,1241 +0,0 @@ ---- -title: Avalanche-CLI -description: Learn about Avalanche CLI and its different commands for Avalanche L1s. ---- - -Avalanche-CLI is a command-line tool that gives developers access to everything Avalanche. This release specializes in helping developers build and test Avalanche L1s. - -To get started, look at the documentation for the subcommands or jump right in with `avalanche blockchain create myblockchain`. - -[Install Avalanche CLI](/tooling/guides/get-avalanche-cli) - -Primary[​](#primary "Direct link to heading") ---------------------------------------------- - -The `primary` command suite provides a collection of tools for interacting with the Avalanche Primary Network. - -### Primary AddValidator[​](#primary-addvalidator "Direct link to heading") - -The `primary addValidator` command adds an Avalanche node as a validator in the Avalanche Primary Network with [AddPermissionlessValidatorTx](/api-reference/standards/guides/banff-changes#addpermissionlessvalidatortx). - -This command requires the node's BLS key and proof of possession key, more information regarding BLS can be found [here](/api-reference/p-chain/txn-format#proof-of-possession). - -To get a node's BLS key and proof of possession key, call info.getNodeID API as shown [here](/api-reference/info-api#infogetnodeid) - -**Usage**: - -```bash -avalanche primary addValidator [flags] -``` - -**Flags**: - -```bash - --nodeID string the node ID of the validator --k, --key string select the key to use [fuji deploy only] - --weight uint set the staking weight of the validator - --start-time string UTC start time when this validator starts validating, in 'YYYY-MM-DD HH:MM:SS' format - --staking-period duration how long this validator will be staking - --fuji fuji join on fuji (alias for `testnet`) - --testnet testnet join on testnet (alias for `fuji`) - --mainnet mainnet join on mainnet --g, --ledger use ledger instead of key (always true on mainnet, defaults to false on fuji) - --ledger-addrs strings use the given ledger addresses - --public-key string set the BLS public key of the validator - --proof-of-possession string set the BLS proof of possession of the validator - --delegation-fee uint set the delegation fee (20 000 is equivalent to 2%) -``` - -Avalanche L1[​](#avalanche-l1 "Direct link to heading") -------------------------------------------- - -The `blockchain` command suite provides a collection of tools for developing and deploying Avalanche L1s. - -To get started, use the `blockchain create` command wizard to walk through the configuration of your very first Avalanche L1. Then, go ahead and deploy it with the `blockchain deploy` command. You can use the rest of the commands to manage your Avalanche L1 configurations and live deployments. - -### Avalanche L1 AddValidator[​](#avalanche-l1-addvalidator "Direct link to heading") - -The `blockchain addValidator` command whitelists a primary network validator to validate the provided deployed Avalanche L1. - -To add the validator to the Avalanche L1's allow list, you first need to provide the blockchainName and the validator's unique NodeID. The command then prompts for the validation start time, duration, and stake weight. You can bypass these prompts by providing the values with flags. - -This command currently only works on Avalanche L1s deployed to either the Fuji Testnet or Mainnet. - -**Usage**: - -```bash -avalanche blockchain addValidator [blockchainName] [flags] -``` - -**Flags**: - -```bash - --default-validator-params use default weight/start/duration params for Avalanche L1 validator - --devnet devnet add Avalanche L1 validator on devnet - --endpoint string use the given endpoint for network operations --e, --ewoq use ewoq key [fuji/devnet only] - --fuji fuji add Avalanche L1 validator on fuji (alias for `testnet`) --h, --help help for addValidator --k, --key string select the key to use [fuji/devnet only] --g, --ledger use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) - --ledger-addrs strings use the given ledger addresses - --local local add Avalanche L1 validator on local - --mainnet mainnet add Avalanche L1 validator on mainnet - --nodeID string set the NodeID of the validator to add - --output-tx-path string file path of the add validator tx - --staking-period duration how long this validator will be staking - --start-time string UTC start time when this validator starts validating, in 'YYYY-MM-DD HH:MM:SS' format - --subnet-auth-keys strings control keys that will be used to authenticate add validator tx - --testnet testnet add Avalanche L1 validator on testnet (alias for `fuji`) - --weight uint set the staking weight of the validator to add -``` - -### Remove Validator in an Avalanche L1[​](#remove-validator-in-a-avalanche-l1 "Direct link to heading") - -This command removes a node as a validator in an Avalanche L1. - -**Usage**: - -```bash -avalanche blockchain removeValidator [blockchainName] [flags] -``` - -**Flags**: - -```bash - --fuji remove validator in existing fuji deployment (alias for `testnet`) --k, --key string select the key to use [fuji only] --g, --ledger use ledger instead of key (always true on mainnet, defaults to false on fuji) - --ledger-addrs strings use the given ledger addresses - --local remove validator in existing local deployment - --mainnet remove validator in existing mainnet deployment - --nodeID string set the NodeID of the validator to remove - --output-tx-path string file path of the removeValidator tx - --subnet-auth-keys strings control keys that will be used to authenticate removeValidator tx - --testnet remove validator in existing testnet deployment (alias for `fuji`) -``` - -### Avalanche L1 Change Owner[​](#avalanche-l1-change-owner "Direct link to heading") - -The `blockchain changeOwner` changes the owner of the deployed Avalanche L1. This command currently only works on Avalanche L1s deployed to Devnet, Fuji or Mainnet. - -**Usage**: - -```bash -avalanche blockchain changeOwner [blockchainName] [flags] -``` - -**Flags**: - -```bash - --control-keys strings addresses that may make Avalanche L1 changes - --devnet devnet change Avalanche L1 owner on devnet - --endpoint string use the given endpoint for network operations --e, --ewoq use ewoq key [fuji/devnet] - --fuji fuji change Avalanche L1 owner on fuji (alias for `testnet`) --h, --help help for changeOwner --k, --key string select the key to use [fuji/devnet] --g, --ledger use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) - --ledger-addrs strings use the given ledger addresses - --local local change Avalanche L1 owner on local - --mainnet mainnet change Avalanche L1 owner on mainnet - --output-tx-path string file path of the transfer Avalanche L1 ownership tx --s, --same-control-key use the fee-paying key as control key - --subnet-auth-keys strings control keys that will be used to authenticate transfer Avalanche L1 ownership tx - --testnet testnet change Avalanche L1 owner on testnet (alias for `fuji`) - --threshold uint32 required number of control key signatures to make Avalanche L1 changes -``` - -### Avalanche L1 Configure[​](#avalanche-l1-configure "Direct link to heading") - -AvalancheGo nodes support several different configuration files. Avalanche L1s have their own Avalanche L1 config which applies to all chains/VMs in the Avalanche L1. Each chain within the Avalanche L1 can have its own chain config. This command allows you to set both config files. - -**Usage**: - -```bash -avalanche blockchain configure [blockchainName] [flags] -``` - -**Flags**: - -```bash - --chain-config string path to the chain configuration --h, --help help for configure - --per-node-chain-config string path to per node chain configuration for local network - --subnet-config string path to the Avalanche L1 configuration -``` - -### Avalanche L1 Create[​](#avalanche-l1-create "Direct link to heading") - -The `blockchain create` command builds a new genesis file to configure your Avalanche L1. By default, the command runs an interactive wizard. It walks you through all the steps you need to create your first Avalanche L1. - -The tool supports deploying Subnet-EVM and custom VMs. You can create a custom, user-generated genesis with a custom VM by providing the path to your genesis and VM binaries with the `--genesis` and `--vm` flags. - -By default, running the command with a `blockchainName` that already exists causes the command to fail. If you'd like to overwrite an existing configuration, pass the `-f` flag. - -**Usage**: - -```bash -avalanche blockchain create [blockchainName] [flags] -``` - -**Flags**: - -```bash - --custom use a custom VM template - --custom-vm-branch string custom vm branch - --custom-vm-build-script string custom vm build-script - --custom-vm-path string file path of custom vm to use - --custom-vm-repo-url string custom vm repository url - --evm use the Subnet-EVM as the base template - --evm-chain-id uint chain ID to use with Subnet-EVM - --evm-defaults use default settings for fees/airdrop/precompiles with Subnet-EVM - --evm-token string token name to use with Subnet-EVM --f, --force overwrite the existing configuration if one exists - --from-github-repo generate custom VM binary from github repository - --genesis string file path of genesis to use --h, --help help for create - --latest use latest Subnet-EVM released version, takes precedence over --vm-version - --pre-release use latest Subnet-EVM pre-released version, takes precedence over --vm-version - --teleporter generate a teleporter-ready vm (default true) - --vm string file path of custom vm to use. alias to custom-vm-path - --vm-version string version of Subnet-EVM template to use -``` - -### Avalanche L1 Delete[​](#avalanche-l1-delete "Direct link to heading") - -The `blockchain delete` command deletes an existing Avalanche L1 configuration. - -**Usage**: - -```bash -avalanche blockchain delete [flags] -``` - -**Flags**: - -```bash --h, --help help for delete -``` - -### Avalanche L1 Deploy[​](#avalanche-l1-deploy "Direct link to heading") - -The `blockchain deploy` command deploys your Avalanche L1 configuration locally, to Fuji Testnet, or to Mainnet. - -At the end of the call, the command prints the RPC URL you can use to interact with the Avalanche L1. - -Avalanche-CLI only supports deploying an individual Avalanche L1 once per network. Subsequent attempts to deploy the same Avalanche L1 to the same network (local, Fuji, Mainnet) aren't allowed. If you'd like to redeploy an Avalanche L1 locally for testing, you must first call [avalanche network clean](#network-clean) to reset all deployed chain state. Subsequent local deploys redeploy the chain with fresh state. You can deploy the same Avalanche L1 to multiple networks, so you can take your locally tested Avalanche L1 and deploy it on Fuji or Mainnet. - -**Usage**: - -```bash -avalanche blockchain deploy [blockchainName] [flags] -``` - -**Flags**: - -```bash - --avalanchego-path string use this avalanchego binary path - --avalanchego-version string use this version of avalanchego (ex: v1.17.12) (default "latest") - --control-keys strings addresses that may make Avalanche L1 changes - --devnet deploy to a devnet network - --endpoint string use the given endpoint for network operations --e, --ewoq use ewoq key [fuji/devnet deploy only] --f, --fuji testnet deploy to fuji (alias to testnet --h, --help help for deploy --k, --key string select the key to use [fuji/devnet deploy only] --g, --ledger use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) - --ledger-addrs strings use the given ledger addresses --l, --local deploy to a local network --m, --mainnet deploy to mainnet - --mainnet-chain-id string use different ChainID for mainnet deployment - --output-tx-path string file path of the blockchain creation tx --s, --same-control-key use creation key as control key - --subnet-auth-keys strings control keys that will be used to authenticate chain creation --u, --subnet-id string deploy into given subnet id --t, --testnet fuji deploy to testnet (alias to fuji) - --threshold uint32 required number of control key signatures to make Avalanche L1 changes -``` - -### Avalanche L1 Describe[​](#avalanche-l1-describe "Direct link to heading") - -The `blockchain describe` command prints the details of an Avalanche L1 configuration to the console. By default, the command prints a summary of the configuration. By providing the `--genesis` flag, the command instead prints out the raw genesis file. - -**Usage**: - -```bash -avalanche blockchain describe [blockchainName] [flags] -``` - -**Flags**: - -```bash --g, --genesis Print the genesis to the console directly instead of the summary --h, --help help for describe -``` - -### Avalanche L1 Export[​](#avalanche-l1-export "Direct link to heading") - -The `blockchain export` command write the details of an existing Avalanche L1 deploy to a file. The command prompts for an output path. You can also provide one with the `--output` flag. - -**Usage**: - -```bash -avalanche blockchain export [blockchainName] [flags] -``` - -**Flags**: - -```bash --h, --help help for export --o, --output string write the export data to the provided file path -``` - -### Avalanche L1 Import[​](#avalanche-l1-import "Direct link to heading") - -The `blockchain import` command imports configurations into Avalanche-CLI. - -This command supports importing from a file created on another computer, or importing from Avalanche L1s running public networks (for example, created manually or with the deprecated Avalanche L1-CLI) - -#### Import from a File[​](#import-from-a-file "Direct link to heading") - -To import from a file, you can optionally provide the path as a command-line argument. Alternatively, running the command without any arguments triggers an interactive wizard. To import from a repository, go through the wizard. By default, an imported Avalanche L1 doesn't overwrite an existing Avalanche L1 with the same name. To allow overwrites, provide the `--force` flag. - -**Usage**: - -```bash -avalanche blockchain import file [blockchainPath] [flags] -``` - -**Flags**: - -```bash - --branch string the repo branch to use if downloading a new repo --f, --force overwrite the existing configuration if one exists --h, --help help for import - --repo string the repo to import (ex: ava-labs/avalanche-plugins-core) or url to download the repo from - --subnet string the Avalanche L1 configuration to import from the provided repo -``` - -#### Import from a Public Network[​](#import-from-a-public-network "Direct link to heading") - -The `blockchain import public` command imports an Avalanche L1 configuration from a running network. - -The genesis file should be available from the disk for this to work. By default, an imported Avalanche L1 doesn't overwrite an existing Avalanche L1 with the same name. To allow overwrites, provide the `--force` flag. - -**Usage**: - -```bash -avalanche blockchain import public [blockchainPath] [flags] -``` - -**Flags**: - -```bash - --custom use a custom VM template - --evm import a subnet-evm --f, --force overwrite the existing configuration if one exists - --fuji fuji import from fuji (alias for `testnet`) - --genesis-file-path string path to the genesis file --h, --help help for public - --mainnet mainnet import from mainnet - --node-url string [optional] URL of an already running Avalanche L1 validator - --subnet-id string the subnet ID - --testnet testnet import from testnet (alias for `fuji`) - -``` - -### Avalanche L1 Join[​](#avalanche-l1-join "Direct link to heading") - -The `blockchain join` command configures your validator node to begin validating a new Avalanche L1. - -To complete this process, you must have access to the machine running your validator. If the CLI is running on the same machine as your validator, it can generate or update your node's config file automatically. Alternatively, the command can print the necessary instructions to update your node manually. To complete the validation process, the Avalanche L1's admins must add the NodeID of your validator to the Avalanche L1's allow list by calling `addValidator` with your NodeID. - -After you update your validator's config, you need to restart your validator manually. If you provide the `--avalanchego-config` flag, this command attempts to edit the config file at that path. - -This command currently only supports Avalanche L1s deployed on the Fuji Testnet and Mainnet. - -**Usage**: - -```bash -avalanche blockchain join [blockchainName] [flags] -``` - -**Flags**: - -```bash - --avalanchego-config string file path of the avalanchego config file - --fail-if-not-validating fail if whitelist check fails - --force-whitelist-check if true, force the whitelist check - --force-write if true, skip to prompt to overwrite the config file - --fuji fuji join on fuji (alias for `testnet`) --h, --help help for join - --mainnet mainnet join on mainnet - --nodeID string set the NodeID of the validator to check - --plugin-dir string file path of avalanchego's plugin directory - --print if true, print the manual config without prompting - --skip-whitelist-check if true, skip the whitelist check - --testnet testnet join on testnet (alias for `fuji`) -``` - -### Avalanche L1 List[​](#avalanche-l1-list "Direct link to heading") - -The `blockchain list` command prints the names of all created Avalanche L1 configurations. Without any flags, it prints some general, static information about the Avalanche L1. With the `--deployed` flag, the command shows additional information including the VMID, BlockchainID and SubnetID. - -**Usage**: - -```bash -avalanche blockchain list [flags] -``` - -**Flags**: - -```bash - --deployed show additional deploy information --h, --help help for list -``` - -### Avalanche L1 Publish[​](#avalanche-l1-publish "Direct link to heading") - -The `blockchain publish` command publishes the Avalanche L1's VM to a repository. - -**Usage**: - -```bash -avalanche blockchain publish [blockchainName] [flags] -``` - -**Flags**: - -```bash - --alias string We publish to a remote repo, but identify the repo locally under a user-provided alias (e.g. myrepo). - --force If true, ignores if the Avalanche L1 has been published in the past, and attempts a forced publish. --h, --help help for publish - --no-repo-path string Do not let the tool manage file publishing, but have it only generate the files and put them in the location given by this flag. - --repo-url string The URL of the repo where we are publishing - --subnet-file-path string Path to the Subnet description file. If not given, a prompting sequence will be initiated. - --vm-file-path string Path to the VM description file. If not given, a prompting sequence will be initiated. -``` - -### Avalanche L1 Stats[​](#avalanche-l1-stats "Direct link to heading") - -The `blockchain stats` command prints validator statistics for the given Avalanche L1. - -**Usage**: - -```bash -avalanche blockchain stats [blockchainName] [flags] -``` - -**Flags**: - -```bash - --fuji fuji print stats on fuji (alias for `testnet`) --h, --help help for stats - --mainnet mainnet print stats on mainnet - --testnet testnet print stats on testnet (alias for `fuji`) -``` - -### Avalanche L1 VMID[​](#avalanche-l1-vmid "Direct link to heading") - -The `blockchain vmid` command prints the virtual machine ID (VMID) for the given Avalanche L1. - -**Usage**: - -```bash -avalanche blockchain vmid [blockchainName] -``` - -Avalanche L1 Upgrade[​](#avalanche-l1-upgrade "Direct link to heading") ------------------------------------------------------------ - -The `blockchain upgrade` command suite provides a collection of tools for updating your developmental and deployed Avalanche L1s. - -### Avalanche L1 Upgrade Apply[​](#avalanche-l1-upgrade-apply "Direct link to heading") - -Apply generated upgrade bytes to running Avalanche L1 nodes to trigger a network upgrade. - -For public networks (Fuji Testnet or Mainnet), to complete this process, you must have access to the machine running your validator. If the CLI is running on the same machine as your validator, it can manipulate your node's configuration automatically. Alternatively, the command can print the necessary instructions to upgrade your node manually. - -After you update your validator's configuration, you need to restart your validator manually. If you provide the `--avalanchego-chain-config-dir` flag, this command attempts to write the upgrade file at that path. Refer to [this doc](/nodes/configure/configs-flags#avalanche-l1-chain-configs) for related documentation. - -**Usage**: - -```bash -avalanche blockchain upgrade apply [blockchainName] [flags] -``` - -**Flags**: - -```bash - --avalanchego-chain-config-dir string avalanchego's chain config file directory (default "/Users/connor/.avalanchego/chains") - --config create upgrade config for future Avalanche L1 deployments (same as generate) - --force If true, don't prompt for confirmation of timestamps in the past - --fuji fuji apply upgrade existing fuji deployment (alias for `testnet`) --h, --help help for apply - --local local apply upgrade existing local deployment - --mainnet mainnet apply upgrade existing mainnet deployment - --print if true, print the manual config without prompting (for public networks only) - --testnet testnet apply upgrade existing testnet deployment (alias for `fuji`) -``` - -### Avalanche L1 Upgrade Export[​](#avalanche-l1-upgrade-export "Direct link to heading") - -Export the upgrade bytes file to a location of choice on disk. - -**Usage**: - -```bash -avalanche blockchain upgrade export [blockchainName] [flags] -``` - -**Flags**: - -```bash - --force If true, overwrite a possibly existing file without prompting --h, --help help for export - --upgrade-filepath string Export upgrade bytes file to location of choice on disk -``` - -### Avalanche L1 Upgrade Generate[​](#avalanche-l1-upgrade-generate "Direct link to heading") - -The `blockchain upgrade generate` command builds a new upgrade.json file to customize your Avalanche L1. It guides the user through the process using an interactive wizard. - -**Usage**: - -```bash -avalanche blockchain upgrade generate [blockchainName] [flags] -``` - -**Flags**: - -```bash --h, --help help for generate -``` - -### Avalanche L1 Upgrade Import[​](#avalanche-l1-upgrade-import "Direct link to heading") - -Import the upgrade bytes file into the local environment. - -**Usage**: - -```bash -avalanche blockchain upgrade import [blockchainName] [flags] -``` - -**Flags**: - -```bash --h, --help help for import - --upgrade-filepath string Import upgrade bytes file into local environment -``` - -### Avalanche L1 Upgrade Print[​](#avalanche-l1-upgrade-print "Direct link to heading") - -Print the upgrade.json file content. - -**Usage**: - -```bash -avalanche blockchain upgrade print [blockchainName] [flags] -``` - -**Flags**: - -```bash --h, --help help for list -``` - -### Avalanche L1 Upgrade VM[​](#avalanche-l1-upgrade-vm "Direct link to heading") - -The `blockchain upgrade vm` command enables the user to upgrade their Avalanche L1's VM binary. The command can upgrade both local Avalanche L1s and publicly deployed Avalanche L1s on Fuji and Mainnet. - -The command walks the user through an interactive wizard. The user can skip the wizard by providing command line flags. - -**Usage**: - -```bash -avalanche blockchain upgrade export [blockchainName] [flags] -``` - -**Flags**: - -```bash - --deployed show additional deploy information --h, --help help for list -``` - -Node[​](#node "Direct link to heading") ---------------------------------------- - -The `node` command suite provides a collection of tools for creating and maintaining validators on the Avalanche Network. - -To get started, use the node create command wizard to walk through the configuration to make your node a primary validator on Avalanche public network. You can use the rest of the commands to maintain your node and make your node an Avalanche L1 Validator. - -### Node Create[​](#node-create "Direct link to heading") - - -(ALPHA Warning) This command is currently in experimental mode. - - -The `node create` command sets up a validator on a cloud server of your choice. The validator will be validating the Avalanche Primary Network and Avalanche L1 of your choice. By default, the command runs an interactive wizard. It walks you through all the steps you need to set up a validator. Validators can be deployed in multiple regions/zones simultaneously. Once this command is run, you will have to wait for the validator to finish bootstrapping on the primary network before running further commands on it, for example validating an Avalanche L1. You can check the bootstrapping status by running `avalanche node status`. - -The created node will be part of group of validators called `` and users can call node commands with `` so that the command will apply to all nodes in the cluster. - -**Usage**: - -```bash -avalanche node create [clusterName] [flags] -``` - -**Flags**: - -```bash - --alternative-key-pair-name string key pair name to use if default one generates conflicts - --authorize-access authorize CLI to create cloud resources - --avalanchego-version-from-subnet string install latest avalanchego version, that is compatible with the given Avalanche L1, on node/s - --aws create node/s in AWS cloud - --aws-profile string aws profile to use (default "default") - --custom-avalanchego-version string install given avalanchego version on node/s - --devnet create node/s into a new Devnet - --devnet-api-nodes int number of API nodes(nodes without stake) to create in the new Devnet - --fuji create node/s in Fuji Network - --gcp create node/s in GCP cloud - --gcp-credentials string use given GCP credentials - --gcp-project string use given GCP project --h, --help help for create - --latest-avalanchego-pre-release-version install latest avalanchego pre-release version on node/s - --latest-avalanchego-version install latest avalanchego release version on node/s - --node-type string cloud instance type. Use 'default' to use recommended default instance type - --num-nodes ints number of nodes to create per region(s). Use comma to separate multiple numbers for each region in the same order as --region flag - --region strings create node(s) in given region(s). Use comma to separate multiple regions - --same-monitoring-instance host monitoring for a cloud servers on the same instance - --separate-monitoring-instance host monitoring for all cloud servers on a separate instance - --skip-monitoring don't set up monitoring in created nodes - --ssh-agent-identity string use given ssh identity(only for ssh agent). If not set, default will be used - --use-ssh-agent use ssh agent(ex: Yubikey) for ssh auth - --use-static-ip attach static Public IP on cloud servers (default true) -``` - -### Node Devnet[​](#node-devnet "Direct link to heading") - - -(ALPHA Warning) This command is currently in experimental mode. - - -The `node devnet` command suite provides a collection of commands related to devnets. You can check the updated status by calling avalanche node status `` - -### Node Devnet Deploy[​](#node-devnet-deploy "Direct link to heading") - -The `node devnet deploy` command deploys an Avalanche L1 into a devnet cluster, creating Avalanche L1 and blockchain TXs for it. It saves the deploy info both locally and remotely. - -**Usage**: - -```bash -avalanche node devnet deploy [clusterName] [Avalanche L1 Name] [flags] -``` - -**Flags**: - -```bash --h, --help help for list -``` - -### Node Devnet Wiz[​](#node-devnet-wiz "Direct link to heading") - -The `node devnet wiz` command creates a devnet and deploys, sync and validate an Avalanche L1 into it. It creates the Avalanche L1 if so needed. - -**Usage**: - -```bash -avalanche node devnet wiz [clusterName] [blockchainName] [flags] -``` - -**Flags**: - -```bash - --alternative-key-pair-name string key pair name to use if default one generates conflicts - --authorize-access authorize CLI to create cloud resources - --avalanchego-version string install given avalanchego version on node/s - --aws create node/s in AWS cloud - --aws-profile string aws profile to use (default "default") - --chain-config string path to the chain configuration for Avalanche L1 - --custom-subnet use a custom VM as the Avalanche L1 virtual machine - --custom-vm-branch string custom vm branch - --custom-vm-build-script string custom vm build-script - --custom-vm-repo-url string custom vm repository url - --default-validator-params use default weight/start/duration params for Avalanche L1 validator - --devnet-api-nodes int number of API nodes(nodes without stake) to create in the new Devnet - --evm-chain-id uint chain ID to use with Subnet-EVM - --evm-defaults use default settings for fees/airdrop/precompiles with Subnet-EVM - --evm-subnet use Subnet-EVM as the Avalanche L1 virtual machine - --evm-token string token name to use with Subnet-EVM - --evm-version string version of Subnet-EVM to use - --force-subnet-create overwrite the existing Avalanche L1 configuration if one exists - --gcp create node/s in GCP cloud - --gcp-credentials string use given GCP credentials - --gcp-project string use given GCP project --h, --help help for wiz - --latest-avalanchego-pre-release-version install latest avalanchego pre-release version on node/s - --latest-avalanchego-version install latest avalanchego release version on node/s - --latest-evm-version use latest Subnet-EVM released version - --latest-pre-released-evm-version use latest Subnet-EVM pre-released version - --node-config string path to avalanchego node configuration for Avalanche L1 - --node-type string cloud instance type. Use 'default' to use recommended default instance type - --num-nodes ints number of nodes to create per region(s). Use comma to separate multiple numbers for each region in the same order as --region flag - --region strings create node/s in given region(s). Use comma to separate multiple regions - --same-monitoring-instance host monitoring for a cloud servers on the same instance - --separate-monitoring-instance host monitoring for all cloud servers on a separate instance - --skip-monitoring don't set up monitoring in created nodes - --ssh-agent-identity string use given ssh identity(only for ssh agent). If not set, default will be used. - --subnet-config string path to the subnet configuration for Avalanche L1 - --subnet-genesis string file path of the subnet genesis - --use-ssh-agent use ssh agent for ssh - --use-static-ip attach static Public IP on cloud servers (default true) - --validators strings deploy blockchain into given comma separated list of validators. defaults to all cluster nodes -``` - -### Node List[​](#node-list "Direct link to heading") - - -(ALPHA Warning) This command is currently in experimental mode. - - -The `node list` command lists all clusters together with their nodes. - -**Usage**: - -```bash -avalanche node list [flags] -``` - -**Flags**: - -```bash --h, --help help for list -``` - -### Node Ssh[​](#node-ssh "Direct link to heading") - - -(ALPHA Warning) This command is currently in experimental mode. - - -The `node ssh` command execute a given command using ssh on all nodes in the cluster. If no command is given, just prints the ssh command line to be used to connect to each node. - -**Usage**: - -```bash -avalanche node ssh [clusterName] [flags] -``` - -**Flags**: - -```bash --h, --help help for status -``` - -### Node Status[​](#node-status "Direct link to heading") - - -(ALPHA Warning) This command is currently in experimental mode. - - -The `node status` command gets the bootstrap status of all nodes in a cluster with the Primary Network. If no cluster is given, defaults to node list behaviour. - -To get the bootstrap status of a node with an Avalanche L1, use the `--subnet` flag. - -**Usage**: - -```bash -avalanche node status [clusterName] [flags] -``` - -**Flags**: - -```bash --h, --help help for status - --subnet string specify the Avalanche L1 the node is syncing with -``` - -### Node Stop[​](#node-stop "Direct link to heading") - - -(ALPHA Warning) This command is currently in experimental mode. - - -The `node stop` command stops a running node in cloud server. Note that a stopped node may still incur cloud server storage fees. - -**Usage**: - -```bash -avalanche node stop [clusterName] [flags] -``` - -**Flags**: - -```bash - --authorize-access authorize CLI to release cloud resources - --authorize-remove authorize CLI to remove all local files related to cloud nodes --h, --help help for stop -``` - -### Node Sync[​](#node-sync "Direct link to heading") - - -(ALPHA Warning) This command is currently in experimental mode. - - -The `node sync` command enables all nodes in a cluster to be bootstrapped to an Avalanche L1. You can check the Avalanche L1 bootstrap status by calling avalanche `node status --subnet ` - -**Usage**: - -```bash -avalanche node sync [clusterName] [blockchainName] [flags] -``` - -**Flags**: - -```bash --h, --help help for sync -``` - -### Node Update[​](#node-update "Direct link to heading") - - -(ALPHA Warning) This command is currently in experimental mode. - - -The `node update` command suite provides a collection of commands for nodes to update their AvalancheGo version or VM version/config. You can check the status after update by calling `avalanche node status` - -#### Node Update Avalanche L1[​](#node-update-avalanche-l1 "Direct link to heading") - - -(ALPHA Warning) This command is currently in experimental mode. - - -The `node update subnet` command updates all nodes in a cluster with latest Avalanche L1 configuration and You can check the updated Avalanche L1 bootstrap status by calling avalanche `node status --subnet ` - -**Usage**: - -```bash -avalanche node update Avalanche L1 [clusterName] [blockchainName] [flags] -``` - -**Flags**: - -```bash --h, --help help for Avalanche L1 -``` - -### Node Validate[​](#node-validate "Direct link to heading") - - -(ALPHA Warning) This command is currently in experimental mode. - - -The `node validate` command suite provides a collection of commands for nodes to join the Primary Network and Avalanche L1s as validators. If any of the commands is run before the nodes are bootstrapped on the Primary Network, the command will fail. You can check the bootstrap status by calling `avalanche node status `. - -#### Node Validate Primary[​](#node-validate-primary "Direct link to heading") - - -(ALPHA Warning) This command is currently in experimental mode. - - -The `node validate primary` command enables all nodes in a cluster to be validators of Primary Network. - -**Usage**: - -```bash -avalanche node validate primary [clusterName] [flags] -``` - -**Flags**: - -```bash --f, --fuji testnet set up validator in fuji (alias to testnet --h, --help help for primary --k, --key string select the key to use [fuji only] --g, --ledger use ledger instead of key (always true on mainnet, defaults to false on fuji) - --ledger-addrs strings use the given ledger addresses --m, --mainnet set up validator in mainnet - --stake-amount uint how many AVAX to stake in the validator - --staking-period duration how long validator validates for after start time --t, --testnet fuji set up validator in testnet (alias to fuji) -``` - -#### Node Validate Avalanche L1[​](#node-validate-avalanche-l1 "Direct link to heading") - - -(ALPHA Warning) This command is currently in experimental mode. - - -The `node validate subnet` command enables all nodes in a cluster to be validators of an Avalanche L1. If the command is run before the nodes are Primary Network validators, the command will first make the nodes Primary Network validators before making them Avalanche L1 validators. If the command is run before the nodes are bootstrapped on the Primary Network, the command will fail. You can check the bootstrap status by calling `avalanche node status `. If the command is run before the nodes are synced to the Avalanche L1, the command will fail. You can check the Avalanche L1 sync status by calling `avalanche node status --subnet `. - -**Usage**: - -```bash -avalanche node validate Avalanche L1 [clusterName] [blockchainName] [flags] -``` - -**Flags**: - -```bash - --default-validator-params use default weight/start/duration params for Avalanche L1 validator --d, --devnet set up validator in devnet - --endpoint string use the given endpoint for network operations --e, --ewoq use ewoq key [fuji/devnet only] --f, --fuji testnet set up validator in fuji (alias to testnet --h, --help help for Avalanche L1 --k, --key string select the key to use [fuji/devnet only] --g, --ledger use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) - --ledger-addrs strings use the given ledger addresses --m, --mainnet set up validator in mainnet - --stake-amount uint how many AVAX to stake in the validator - --staking-period duration how long validator validates for after start time - --start-time string UTC start time when this validator starts validating, in 'YYYY-MM-DD HH:MM:SS' format --t, --testnet fuji set up validator in testnet (alias to fuji) -``` - -### Node Whitelist[​](#node-whitelist "Direct link to heading") - - -(ALPHA Warning) This command is currently in experimental mode. - - -The `node whitelist` command suite provides a collection of tools for granting access to the cluster. - -Nodes created by `Avalanche-CLI` are protected by Cloud Security Group and only defined IP addresses are allowed to access. User IP is whitelisted automatically when cluster is created, but this command can be used in case of IP address changes or granting access to additional IPs. This command detects user current IP address automatically if no IP address is provided. - -Secure SSH protocol is used to communicate with cloud instances. `node whitelist` command authorizes SSH public key on all nodes in the cluster if --ssh params is specified. Please keep your SSH private keys safe and secure, only share public keys to grant shell access to cloud instances running `avalanchego`. - -**Usage**: - -```bash -avalanche node whitelist [--ip ] [--ssh ""] [flags] -``` - -**Flags**: - -```bash - -h, --help help for whitelist - --ip string ip address to whitelist - --ssh string ssh public key to whitelist -``` - -### Node Export[​](#node-export "Direct link to heading") - - -(ALPHA Warning) This command is currently in experimental mode. - - -The `node export` command exports cluster configuration including their nodes to a text file. If no file is specified, the configuration is printed to the stdout. Use `--include-secrets` to include keys in the export. In this case this command can be used to backup your cluster configuration. Please keep the file secure as it contains sensitive information. - -Exported cluster configuration without secrets it can be imported by another user using `node import` command. - -**Usage**: - -```bash -avalanche node export [clusterName] [flags] -``` - -**Flags**: - -```bash - --file string specify the file to export the cluster configuration to - --force overwrite the file if it exists - -h, --help help for export - --include-secrets include keys in the export -``` - -### Node Import[​](#node-import "Direct link to heading") - -The `node import` command imports cluster configuration and cluster nodes from a text file. This file should be created using the `node export` command. - -This command is useful with `node whitelist` command. With your SSH public key and IP whitelisted by cluster owner you will be able to execute commands and use `avalanche-cli` to manage this cluster. Please note, that this imported cluster will be considered as EXTERNAL by `avalanche-cli` so some commands affecting cloud nodes like `node create` or `node destroy` will be not applicable for it. - -**Usage**: - -```bash -avalanche node import [clusterName] [flags] -``` - -**Flags**: -```bash - --file string specify the file to export the cluster configuration to - -h, --help help for import -``` - -### Node Resize[​](#node-resize "Direct link to heading") - - -(ALPHA Warning) This command is currently in experimental mode. - - -The `node resize` command can be used to resize cluster instance size and/or size of the cloud persistent storage attached to the instance. In another words, it can change amount of CPU, memory and disk space available for the cluster nodes. - -Please note that disk resize operation can affect disk performance during cloud operation to resize it. Please note that instance resize operation will replace cluster instances one by one, which might affect cluster stability. - -**Usage**: - -```bash -avalanche node resize [clusterName] [flags] -``` - -**Flags**: - -```bash - --aws-profile string aws profile to use (default "default") - --disk-size string Disk size to resize in Gb (e.g. 1000Gb) - -h, --help help for resize - --node-type string Node type to resize (e.g. t3.2xlarge) -``` - -Network[​](#network "Direct link to heading") ---------------------------------------------- - -The `network` command suite provides a collection of tools for managing local Avalanche L1 deployments. - -When you deploy an Avalanche L1 locally, it runs on a local, multi-node Avalanche network. The `blockchain deploy` command starts this network in the background. This command suite allows you to shutdown, restart, and clear that network. - -This network currently supports multiple, concurrently deployed Avalanche L1s. - -### Network Clean[​](#network-clean "Direct link to heading") - -The `network clean` command shuts down your local, multi-node network. All deployed Avalanche L1s shutdown and delete their state. You can restart the network by deploying a new Avalanche L1 configuration. - -**Usage**: - -```bash -avalanche network clean [flags] -``` - -**Flags**: - -```bash - --hard Also clean downloaded avalanchego and plugin binaries --h, --help help for clean -``` - -### Network Start[​](#network-start "Direct link to heading") - -The `network start` command starts a local, multi-node Avalanche network on your machine. - -By default, the command loads the default snapshot. If you provide the `--snapshot-name` flag, the network loads that snapshot instead. The command fails if the local network is already running. - -**Usage**: - -```bash -avalanche network start [flags] -``` - -**Flags**: - -```bash - --avalanchego-path string use this avalanchego binary path - --avalanchego-version string use this version of avalanchego (ex: v1.17.12) (default "latest") --h, --help help for start - --snapshot-name string name of snapshot to use to start the network from (default "default-1654102509") -``` - -### Network Status[​](#network-status "Direct link to heading") - -The `network status` command prints whether or not a local Avalanche network is running and some basic stats about the network. - -**Usage**: - -```bash -avalanche network status [flags] -``` - -**Flags**: - -```bash --h, --help help for status -``` - -### Network Stop[​](#network-stop "Direct link to heading") - -The `network stop` command shuts down your local, multi-node network. - -All deployed Avalanche L1s shutdown gracefully and save their state. If you provide the `--snapshot-name` flag, the network saves its state under this named snapshot. You can reload this snapshot with `network start --snapshot-name `. Otherwise, the network saves to the default snapshot, overwriting any existing state. You can reload the default snapshot with `network start`. - -**Usage**: - -```bash -avalanche network stop [flags] -``` - -**Flags**: - -```bash --h, --help help for stop - --snapshot-name string name of snapshot to use to save network state into (default "default-1654102509") -``` - -Transaction[​](#transaction "Direct link to heading") ------------------------------------------------------ - -The `transaction` command suite provides all of the utilities required to sign multisig transactions. - -### Transaction Commit[​](#transaction-commit "Direct link to heading") - -The `transaction commit` command commits a transaction by submitting it to the P-Chain. - -**Usage**: - -```bash -avalanche transaction commit [blockchainName] [flags] -``` - -**Flags**: - -```bash --h, --help help for commit - --input-tx-filepath string Path to the transaction signed by all signatories -``` - -### Transaction Sign[​](#transaction-sign "Direct link to heading") - -The `transaction sign` command signs a multisig transaction. - -**Usage**: - -```bash -avalanche transaction sign [blockchainName] [flags] -``` - -**Flags**: - -```bash --h, --help help for sign - --input-tx-filepath string Path to the transaction file for signing --k, --key string select the key to use [fuji only] --g, --ledger use ledger instead of key (always true on mainnet, defaults to false on fuji) - --ledger-addrs strings use the given ledger addresses -``` - -Key[​](#key "Direct link to heading") -------------------------------------- - -The `key` command suite provides a collection of tools for creating and managing signing keys. You can use these keys to deploy Avalanche L1s to the Fuji Testnet, but these keys are NOT suitable to use in production environments. DO NOT use these keys on Mainnet. - -To get started, use the `key create` command. - -### Key Create[​](#key-create "Direct link to heading") - -The `key create` command generates a new private key to use for creating and controlling test Avalanche L1s. Keys generated by this command are NOT cryptographically secure enough to use in production environments. DO NOT use these keys on Mainnet. - -The command works by generating a secp256 key and storing it with the provided `keyName`. You can use this key in other commands by providing this `keyName`. - -If you'd like to import an existing key instead of generating one from scratch, provide the `--file` flag. - -**Usage**: - -```bash -avalanche key create [keyName] [flags] -``` - -**Flags**: - -```bash - --file string import the key from an existing key file --f, --force overwrite an existing key with the same name --h, --help help for create -``` - -### Key Delete[​](#key-delete "Direct link to heading") - -The `key delete` command deletes an existing signing key. - -To delete a key, provide the `keyName`. The command prompts for confirmation before deleting the key. To skip the confirmation, provide the `--force` flag. - -**Usage**: - -```bash -avalanche key delete [keyName] [flags] -``` - -**Flags**: - -```bash --f, --force delete the key without confirmation --h, --help help for delete -``` - -### Key Export[​](#key-export "Direct link to heading") - -The `key export` command exports a created signing key. You can use an exported key in other applications or import it into another instance of Avalanche-CLI. - -By default, the tool writes the hex encoded key to stdout. If you provide the `--output` flag, the command writes the key to a file of your choosing. - -**Usage**: - -```bash -avalanche key export [keyName] [flags] -``` - -**Flags**: - -```bash --h, --help help for export --o, --output string write the key to the provided file path -``` - -### Key List[​](#key-list "Direct link to heading") - -The `key list` command prints information for all stored signing keys or for the ledger addresses associated to certain indices. - -**Usage**: - -```bash -avalanche key list [flags] -``` - -**Flags**: - -```bash --a, --all-networks list all network addresses --c, --cchain list C-Chain addresses (default true) --f, --fuji list testnet (fuji) network addresses --h, --help help for list --g, --ledger uints list ledger addresses for the given indices (default []) --l, --local list local network addresses --m, --mainnet list mainnet network addresses - --pchain list P-Chain addresses (default true) - --subnet string provide balance information for the given Avalanche L1 (Subnet-Evm based only) --t, --testnet list testnet (fuji) network addresses --n, --use-nano-avax use nano Avax for balances - --xchain list X-Chain addresses (default true) -``` - -### Key Transfer[​](#key-transfer "Direct link to heading") - -The `key transfer` command allows to transfer funds between stored keys or ledger addresses. - -**Usage**: - -```bash -avalanche key transfer [options] [flags] -``` - -**Flags**: - -```bash --o, --amount float amount to send or receive (AVAX units) --f, --force avoid transfer confirmation --u, --fuji transfer between testnet (fuji) addresses - --fund-p-chain fund P-Chain account on target - --fund-x-chain fund X-Chain account on target --h, --help help for transfer --k, --key string key associated to the sender or receiver address --i, --ledger uint32 ledger index associated to the sender or receiver address (default 32768) --l, --local transfer between local network addresses --m, --mainnet transfer between mainnet addresses --g, --receive receive the transfer --r, --receive-recovery-step uint receive step to use for multiple step transaction recovery --s, --send send the transfer --a, --target-addr string receiver address --t, --testnet transfer between testnet (fuji) addresses -``` - diff --git a/content/docs/avalanche-l1s/build-first-avalanche-l1.mdx b/content/docs/avalanche-l1s/build-first-avalanche-l1.mdx index 637a7be44b1..a4ef26d13ab 100644 --- a/content/docs/avalanche-l1s/build-first-avalanche-l1.mdx +++ b/content/docs/avalanche-l1s/build-first-avalanche-l1.mdx @@ -47,6 +47,20 @@ The following sections walk through each question in the wizard. Select `SubnetEVM`. +### Choose Your Validator Manager Contract[​](#choose-your-validator-management "Direct link to heading") +Choose either Proof of Authority (PoA) or Proof of Stake (PoS) as your consensus mechanism. + +```bash +? Which validator management type would you like to use in your blockchain?: + ▸ Proof Of Authority + Proof Of Stake + Explain the difference +``` +For this tutorial, select `Proof of Authority (PoA)`. + +For more info, reference the [Validator Management Contracts](/evm-l1s/validator-manager/contract). + + ### Enter Your Avalanche L1's ChainID[​](#enter-your-avalanche-l1s-chainid "Direct link to heading") Choose a positive integer for your EVM-style ChainID. diff --git a/content/docs/tooling/avalanche-cli.mdx b/content/docs/tooling/avalanche-cli.mdx index e939500ac61..d53202e6e94 100644 --- a/content/docs/tooling/avalanche-cli.mdx +++ b/content/docs/tooling/avalanche-cli.mdx @@ -1,1229 +1,3489 @@ --- title: Introduction -description: Avalanche-CLI is a command-line tool that gives developers access to everything Avalanche. +description: Avalanche-CLI is a command-line tool that gives developers access to everything Avalanche. This release specializes in helping developers build and test Subnets. --- +To get started, look at the documentation for the subcommands or jump right in with `avalanche subnet create myNewSubnet`. + +**Commands:** + +- [`blockchain`](#blockchain): The blockchain command suite provides a collection of tools for developing +and deploying Blockchains. + +To get started, use the blockchain create command wizard to walk through the +configuration of your very first Blockchain. Then, go ahead and deploy it +with the blockchain deploy command. You can use the rest of the commands to +manage your Blockchain configurations and live deployments. +- [`config`](#config): Customize configuration for Avalanche-CLI +- [`contract`](#contract): The contract command suite provides a collection of tools for deploying +and interacting with smart contracts. +- [`help`](#help): Help provides help for any command in the application. +Simply type avalanche help [path to command] for full details. +- [`ictt`](#ictt): The ictt command suite provides tools to deploy and manage Interchain Token Transferrers. +- [`interchain`](#interchain): The interchain command suite provides a collection of tools to +set and manage interoperability between blockchains. +- [`key`](#key): The key command suite provides a collection of tools for creating and managing +signing keys. You can use these keys to deploy Subnets to the Fuji Testnet, +but these keys are NOT suitable to use in production environments. DO NOT use +these keys on Mainnet. + +To get started, use the key create command. +- [`network`](#network): The network command suite provides a collection of tools for managing local Subnet +deployments. + +When you deploy a Subnet locally, it runs on a local, multi-node Avalanche network. The +subnet deploy command starts this network in the background. This command suite allows you +to shutdown, restart, and clear that network. + +This network currently supports multiple, concurrently deployed Subnets. +- [`node`](#node): The node command suite provides a collection of tools for creating and maintaining +validators on Avalanche Network. + +To get started, use the node create command wizard to walk through the +configuration to make your node a primary validator on Avalanche public network. You can use the +rest of the commands to maintain your node and make your node a Subnet Validator. +- [`primary`](#primary): The primary command suite provides a collection of tools for interacting with the +Primary Network +- [`subnet`](#subnet): The subnet command suite provides a collection of tools for developing +and deploying Blockchains. + +To get started, use the subnet create command wizard to walk through the +configuration of your very first Blockchain. Then, go ahead and deploy it +with the subnet deploy command. You can use the rest of the commands to +manage your Blockchain configurations and live deployments. + +Deprecation notice: use 'avalanche blockchain' +- [`teleporter`](#teleporter): The teleporter command suite provides a collection of tools for interacting +with Teleporter-Enabled Subnets. +- [`transaction`](#transaction): The transaction command suite provides all of the utilities required to sign multisig transactions. +- [`update`](#update): Check if an update is available, and prompt the user to install it + +## avalanche blockchain + +The blockchain command suite provides a collection of tools for developing +and deploying Blockchains. + +To get started, use the blockchain create command wizard to walk through the +configuration of your very first Blockchain. Then, go ahead and deploy it +with the blockchain deploy command. You can use the rest of the commands to +manage your Blockchain configurations and live deployments. + +**Usage:** `avalanche blockchain [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for blockchain | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +**Subcommands:** + +- [`addValidator`](#blockchain-addvalidator): The blockchain addValidator command whitelists a primary network validator to +validate the subnet of the provided deployed Blockchain. + +To add the validator to the Subnet's allow list, you first need to provide +the blockchainName and the validator's unique NodeID. The command then prompts +for the validation start time, duration, and stake weight. You can bypass +these prompts by providing the values with flags. + +This command currently only works on Blockchains deployed to either the Fuji +Testnet or Mainnet. +- [`changeOwner`](#blockchain-changeowner): The blockchain changeOwner changes the owner of the subnet of the deployed Blockchain. +- [`configure`](#blockchain-configure): AvalancheGo nodes support several different configuration files. Subnets have their own +Subnet config which applies to all chains/VMs in the Subnet. Each chain within the Subnet +can have its own chain config. A chain can also have special requirements for the AvalancheGo node +configuration itself. This command allows you to set all those files. +- [`create`](#blockchain-create): The blockchain create command builds a new genesis file to configure your Blockchain. +By default, the command runs an interactive wizard. It walks you through +all the steps you need to create your first Blockchain. + +The tool supports deploying Subnet-EVM, and custom VMs. You +can create a custom, user-generated genesis with a custom VM by providing +the path to your genesis and VM binaries with the --genesis and --vm flags. + +By default, running the command with a blockchainName that already exists +causes the command to fail. If you'd like to overwrite an existing +configuration, pass the -f flag. +- [`delete`](#blockchain-delete): The blockchain delete command deletes an existing blockchain configuration. +- [`deploy`](#blockchain-deploy): The blockchain deploy command deploys your Blockchain configuration locally, to Fuji Testnet, or to Mainnet. + +At the end of the call, the command prints the RPC URL you can use to interact with the Subnet. + +Avalanche-CLI only supports deploying an individual Blockchain once per network. Subsequent +attempts to deploy the same Blockchain to the same network (local, Fuji, Mainnet) aren't +allowed. If you'd like to redeploy a Blockchain locally for testing, you must first call +avalanche network clean to reset all deployed chain state. Subsequent local deploys +redeploy the chain with fresh state. You can deploy the same Blockchain to multiple networks, +so you can take your locally tested Subnet and deploy it on Fuji or Mainnet. +- [`describe`](#blockchain-describe): The blockchain describe command prints the details of a Blockchain configuration to the console. +By default, the command prints a summary of the configuration. By providing the --genesis +flag, the command instead prints out the raw genesis file. +- [`export`](#blockchain-export): The blockchain export command write the details of an existing Blockchain deploy to a file. + +The command prompts for an output path. You can also provide one with +the --output flag. +- [`import`](#blockchain-import): Import blockchain configurations into avalanche-cli. + +This command suite supports importing from a file created on another computer, +or importing from blockchains running public networks +(e.g. created manually or with the deprecated subnet-cli) +- [`join`](#blockchain-join): The subnet join command configures your validator node to begin validating a new Blockchain. + +To complete this process, you must have access to the machine running your validator. If the +CLI is running on the same machine as your validator, it can generate or update your node's +config file automatically. Alternatively, the command can print the necessary instructions +to update your node manually. To complete the validation process, the Subnet's admins must add +the NodeID of your validator to the Subnet's allow list by calling addValidator with your +NodeID. + +After you update your validator's config, you need to restart your validator manually. If +you provide the --avalanchego-config flag, this command attempts to edit the config file +at that path. + +This command currently only supports Blockchains deployed on the Fuji Testnet and Mainnet. +- [`list`](#blockchain-list): The blockchain list command prints the names of all created Blockchain configurations. Without any flags, +it prints some general, static information about the Blockchain. With the --deployed flag, the command +shows additional information including the VMID, BlockchainID and SubnetID. +- [`publish`](#blockchain-publish): The blockchain publish command publishes the Blockchain's VM to a repository. +- [`removeValidator`](#blockchain-removevalidator): The blockchain removeValidator command stops a whitelisted, subnet network validator from +validating your deployed Blockchain. + +To remove the validator from the Subnet's allow list, provide the validator's unique NodeID. You can bypass +these prompts by providing the values with flags. +- [`stats`](#blockchain-stats): The blockchain stats command prints validator statistics for the given Blockchain. +- [`upgrade`](#blockchain-upgrade): The blockchain upgrade command suite provides a collection of tools for +updating your developmental and deployed Blockchains. +- [`validators`](#blockchain-validators): The blockchain validators command lists the validators of a blockchain's subnet and provides +several statistics about them. +- [`vmid`](#blockchain-vmid): The blockchain vmid command prints the virtual machine ID (VMID) for the given Blockchain. + +### addValidator + +The blockchain addValidator command whitelists a primary network validator to +validate the subnet of the provided deployed Blockchain. + +To add the validator to the Subnet's allow list, you first need to provide +the blockchainName and the validator's unique NodeID. The command then prompts +for the validation start time, duration, and stake weight. You can bypass +these prompts by providing the values with flags. + +This command currently only works on Blockchains deployed to either the Fuji +Testnet or Mainnet. + +**Usage:** `avalanche blockchain addValidator [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--cluster` | string operate on the given cluster | +| `--default-duration` | set duration so as to validate until primary validator ends its period | +| `--default-start-time` | use default start time for subnet validator (5 minutes later for fuji & mainnet, 30 seconds later for devnet) | +| `--default-validator-params` | use default weight/start/duration params for subnet validator | +| `--devnet` | operate on a devnet network | +| `--endpoint` | string use the given endpoint for network operations | +| `-e, --ewoq` | use ewoq key [fuji/devnet only] | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `-h, --help` | help for addValidator | +| `-k, --key` | string select the key to use [fuji/devnet only] | +| `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) | +| `--ledger-addrs` | strings use the given ledger addresses | +| `-l, --local` | operate on a local network | +| `-m, --mainnet` | operate on mainnet | +| `--nodeID` | string set the NodeID of the validator to add | +| `--output-tx-path` | string file path of the add validator tx | +| `--staking-period` | duration how long this validator will be staking | +| `--start-time` | string UTC start time when this validator starts validating, in 'YYYY-MM-DD HH:MM:SS' format | +| `--subnet-auth-keys` | strings control keys that will be used to authenticate add validator tx | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--wait-for-tx-acceptance` | just issue the add validator tx, without waiting for its acceptance (default true) | +| `--weight` | uint set the staking weight of the validator to add | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### changeOwner + +The blockchain changeOwner changes the owner of the subnet of the deployed Blockchain. + +**Usage:** `avalanche blockchain changeOwner [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--cluster` | string operate on the given cluster | +| `--control-keys` | strings addresses that may make subnet changes | +| `--devnet` | operate on a devnet network | +| `--endpoint` | string use the given endpoint for network operations | +| `-e, --ewoq` | use ewoq key [fuji/devnet] | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `-h, --help` | help for changeOwner | +| `-k, --key` | string select the key to use [fuji/devnet] | +| `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) | +| `--ledger-addrs` | strings use the given ledger addresses | +| `-l, --local` | operate on a local network | +| `-m, --mainnet` | operate on mainnet | +| `--output-tx-path` | string file path of the transfer subnet ownership tx | +| `-s, --same-control-key` | use the fee-paying key as control key | +| `--subnet-auth-keys` | strings control keys that will be used to authenticate transfer subnet ownership tx | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--threshold` | uint32 required number of control key signatures to make subnet changes | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### configure + +AvalancheGo nodes support several different configuration files. Subnets have their own +Subnet config which applies to all chains/VMs in the Subnet. Each chain within the Subnet +can have its own chain config. A chain can also have special requirements for the AvalancheGo node +configuration itself. This command allows you to set all those files. + +**Usage:** `avalanche blockchain configure [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--chain-config` | string path to the chain configuration | +| `-h, --help` | help for configure | +| `--node-config` | string path to avalanchego node configuration | +| `--per-node-chain-config` | string path to per node chain configuration for local network | +| `--subnet-config` | string path to the subnet configuration | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### create + +The blockchain create command builds a new genesis file to configure your Blockchain. +By default, the command runs an interactive wizard. It walks you through +all the steps you need to create your first Blockchain. + +The tool supports deploying Subnet-EVM, and custom VMs. You +can create a custom, user-generated genesis with a custom VM by providing +the path to your genesis and VM binaries with the --genesis and --vm flags. + +By default, running the command with a blockchainName that already exists +causes the command to fail. If you'd like to overwrite an existing +configuration, pass the -f flag. + +**Usage:** `avalanche blockchain create [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--custom` | use a custom VM template | +| `--custom-vm-branch` | string custom vm branch or commit | +| `--custom-vm-build-script` | string custom vm build-script | +| `--custom-vm-path` | string file path of custom vm to use | +| `--custom-vm-repo-url` | string custom vm repository url | +| `--debug` | enable blockchain debugging | +| `--evm` | use the Subnet-EVM as the base template | +| `--evm-chain-id` | uint chain ID to use with Subnet-EVM | +| `--evm-defaults` | deprecation notice: use '--production-defaults' | +| `--evm-token` | string token symbol to use with Subnet-EVM | +| `--external-gas-token` | use a gas token from another blockchain | +| `-f, --force` | overwrite the existing configuration if one exists | +| `--from-github-repo` | generate custom VM binary from github repository | +| `--genesis` | string file path of genesis to use | +| `-h, --help` | help for create | +| `--latest` | use latest Subnet-EVM released version, takes precedence over --vm-version | +| `--pre-release` | use latest Subnet-EVM pre-released version, takes precedence over --vm-version | +| `--production-defaults` | use default production settings for your blockchain | +| `--teleporter` | interoperate with other blockchains using teleporter | +| `--test-defaults` | use default test settings for your blockchain | +| `--vm` | string file path of custom vm to use. alias to custom-vm-path | +| `--vm-version` | string version of Subnet-EVM template to use | +| `--warp` | generate a vm with warp support (needed for teleporter) (default true) | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### delete + +The blockchain delete command deletes an existing blockchain configuration. + +**Usage:** `avalanche blockchain delete [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for delete | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### deploy + +The blockchain deploy command deploys your Blockchain configuration locally, to Fuji Testnet, or to Mainnet. + +At the end of the call, the command prints the RPC URL you can use to interact with the Subnet. + +Avalanche-CLI only supports deploying an individual Blockchain once per network. Subsequent +attempts to deploy the same Blockchain to the same network (local, Fuji, Mainnet) aren't +allowed. If you'd like to redeploy a Blockchain locally for testing, you must first call +avalanche network clean to reset all deployed chain state. Subsequent local deploys +redeploy the chain with fresh state. You can deploy the same Blockchain to multiple networks, +so you can take your locally tested Subnet and deploy it on Fuji or Mainnet. + +**Usage:** `avalanche blockchain deploy [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--avalanchego-path` | string use this avalanchego binary path | +| `--avalanchego-version` | string use this version of avalanchego (ex: v1.17.12) (default "latest") | +| `--cluster` | string operate on the given cluster | +| `--control-keys` | strings addresses that may make subnet changes | +| `--devnet` | operate on a devnet network | +| `--endpoint` | string use the given endpoint for network operations | +| `-e, --ewoq` | use ewoq key [fuji/devnet deploy only] | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `-h, --help` | help for deploy | +| `-k, --key` | string select the key to use [fuji/devnet deploy only] | +| `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) | +| `--ledger-addrs` | strings use the given ledger addresses | +| `-l, --local` | operate on a local network | +| `-m, --mainnet` | operate on mainnet | +| `--mainnet-chain-id` | uint32 use different ChainID for mainnet deployment | +| `--output-tx-path` | string file path of the blockchain creation tx | +| `-s, --same-control-key` | use the fee-paying key as control key | +| `--skip-local-teleporter` | skip automatic teleporter deploy on local networks [to be deprecated] | +| `--skip-relayer` | skip relayer deploy | +| `--skip-teleporter-deploy` | skip automatic teleporter deploy | +| `--subnet-auth-keys` | strings control keys that will be used to authenticate chain creation | +| `-u, --subnet-id` | string do not create a subnet, deploy the blockchain into the given subnet id | +| `--subnet-only` | only create a subnet | +| `--teleporter-messenger-contract-address-path` | string path to an interchain messenger contract address file | +| `--teleporter-messenger-deployer-address-path` | string path to an interchain messenger deployer address file | +| `--teleporter-messenger-deployer-tx-path` | string path to an interchain messenger deployer tx file | +| `--teleporter-registry-bytecode-path` | string path to an interchain messenger registry bytecode file | +| `--teleporter-version` | string teleporter version to deploy (default "latest") | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--threshold` | uint32 required number of control key signatures to make subnet changes | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### describe + +The blockchain describe command prints the details of a Blockchain configuration to the console. +By default, the command prints a summary of the configuration. By providing the --genesis +flag, the command instead prints out the raw genesis file. + +**Usage:** `avalanche blockchain describe [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `-g, --genesis` | Print the genesis to the console directly instead of the summary | +| `-h, --help` | help for describe | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### export + +The blockchain export command write the details of an existing Blockchain deploy to a file. + +The command prompts for an output path. You can also provide one with +the --output flag. + +**Usage:** `avalanche blockchain export [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--custom-vm-branch` | string custom vm branch | +| `--custom-vm-build-script` | string custom vm build-script | +| `--custom-vm-repo-url` | string custom vm repository url | +| `-h, --help` | help for export | +| `-o, --output` | string write the export data to the provided file path | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### import + +Import blockchain configurations into avalanche-cli. + +This command suite supports importing from a file created on another computer, +or importing from blockchains running public networks +(e.g. created manually or with the deprecated subnet-cli) + +**Usage:** `avalanche blockchain import [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for import | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +**Subcommands:** + +- [`file`](#import-file): The blockchain import command will import a blockchain configuration from a file or a git repository. + +To import from a file, you can optionally provide the path as a command-line argument. +Alternatively, running the command without any arguments triggers an interactive wizard. +To import from a repository, go through the wizard. By default, an imported Blockchain doesn't +overwrite an existing Blockchain with the same name. To allow overwrites, provide the --force +flag. +- [`public`](#import-public): The blockchain import public command imports a Blockchain configuration from a running network. + +By default, an imported Blockchain +doesn't overwrite an existing Blockchain with the same name. To allow overwrites, provide the --force +flag. + +#### import file + +The blockchain import command will import a blockchain configuration from a file or a git repository. + +To import from a file, you can optionally provide the path as a command-line argument. +Alternatively, running the command without any arguments triggers an interactive wizard. +To import from a repository, go through the wizard. By default, an imported Blockchain doesn't +overwrite an existing Blockchain with the same name. To allow overwrites, provide the --force +flag. + +**Usage:** `avalanche blockchain import file [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--branch` | string the repo branch to use if downloading a new repo | +| `-f, --force` | overwrite the existing configuration if one exists | +| `-h, --help` | help for file | +| `--repo` | string the repo to import (ex: ava-labs/avalanche-plugins-core) or url to download the repo from | +| `--subnet` | string the subnet configuration to import from the provided repo | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +#### import public + +The blockchain import public command imports a Blockchain configuration from a running network. + +By default, an imported Blockchain +doesn't overwrite an existing Blockchain with the same name. To allow overwrites, provide the --force +flag. + +**Usage:** `avalanche blockchain import public [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--blockchain-id` | string the blockchain ID | +| `--cluster` | string operate on the given cluster | +| `--custom` | use a custom VM template | +| `--devnet` | operate on a devnet network | +| `--endpoint` | string use the given endpoint for network operations | +| `--evm` | import a subnet-evm | +| `--force` | overwrite the existing configuration if one exists | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `-h, --help` | help for public | +| `-l, --local` | operate on a local network | +| `-m, --mainnet` | operate on mainnet | +| `--node-url` | string [optional] URL of an already running subnet validator | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### join + +The subnet join command configures your validator node to begin validating a new Blockchain. + +To complete this process, you must have access to the machine running your validator. If the +CLI is running on the same machine as your validator, it can generate or update your node's +config file automatically. Alternatively, the command can print the necessary instructions +to update your node manually. To complete the validation process, the Subnet's admins must add +the NodeID of your validator to the Subnet's allow list by calling addValidator with your +NodeID. + +After you update your validator's config, you need to restart your validator manually. If +you provide the --avalanchego-config flag, this command attempts to edit the config file +at that path. + +This command currently only supports Blockchains deployed on the Fuji Testnet and Mainnet. + +**Usage:** `avalanche blockchain join [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--avalanchego-config` | string file path of the avalanchego config file | +| `--cluster` | string operate on the given cluster | +| `--data-dir` | string path of avalanchego's data dir directory | +| `--devnet` | operate on a devnet network | +| `--endpoint` | string use the given endpoint for network operations | +| `--force-write` | if true, skip to prompt to overwrite the config file | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `-h, --help` | help for join | +| `-k, --key` | string select the key to use [fuji only] | +| `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji) | +| `--ledger-addrs` | strings use the given ledger addresses | +| `-l, --local` | operate on a local network | +| `-m, --mainnet` | operate on mainnet | +| `--nodeID` | string set the NodeID of the validator to check | +| `--plugin-dir` | string file path of avalanchego's plugin directory | +| `--print` | if true, print the manual config without prompting | +| `--stake-amount` | uint amount of tokens to stake on validator | +| `--staking-period` | duration how long validator validates for after start time | +| `--start-time` | string start time that validator starts validating | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### list + +The blockchain list command prints the names of all created Blockchain configurations. Without any flags, +it prints some general, static information about the Blockchain. With the --deployed flag, the command +shows additional information including the VMID, BlockchainID and SubnetID. + +**Usage:** `avalanche blockchain list [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--deployed` | show additional deploy information | +| `-h, --help` | help for list | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### publish + +The blockchain publish command publishes the Blockchain's VM to a repository. + +**Usage:** `avalanche blockchain publish [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--alias` | string We publish to a remote repo, but identify the repo locally under a user-provided alias (e.g. myrepo). | +| `--force` | If true, ignores if the subnet has been published in the past, and attempts a forced publish. | +| `-h, --help` | help for publish | +| `--no-repo-path` | string Do not let the tool manage file publishing, but have it only generate the files and put them in the location given by this flag. | +| `--repo-url` | string The URL of the repo where we are publishing | +| `--subnet-file-path` | string Path to the Subnet description file. If not given, a prompting sequence will be initiated. | +| `--vm-file-path` | string Path to the VM description file. If not given, a prompting sequence will be initiated. | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### removeValidator + +The blockchain removeValidator command stops a whitelisted, subnet network validator from +validating your deployed Blockchain. + +To remove the validator from the Subnet's allow list, provide the validator's unique NodeID. You can bypass +these prompts by providing the values with flags. + +**Usage:** `avalanche blockchain removeValidator [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--cluster` | string operate on the given cluster | +| `--devnet` | operate on a devnet network | +| `--endpoint` | string use the given endpoint for network operations | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `-h, --help` | help for removeValidator | +| `-k, --key` | string select the key to use [fuji deploy only] | +| `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji) | +| `--ledger-addrs` | strings use the given ledger addresses | +| `-l, --local` | operate on a local network | +| `-m, --mainnet` | operate on mainnet | +| `--nodeID` | string set the NodeID of the validator to remove | +| `--output-tx-path` | string file path of the removeValidator tx | +| `--subnet-auth-keys` | strings control keys that will be used to authenticate the removeValidator tx | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### stats + +The blockchain stats command prints validator statistics for the given Blockchain. + +**Usage:** `avalanche blockchain stats [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--cluster` | string operate on the given cluster | +| `--devnet` | operate on a devnet network | +| `--endpoint` | string use the given endpoint for network operations | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `-h, --help` | help for stats | +| `-l, --local` | operate on a local network | +| `-m, --mainnet` | operate on mainnet | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### upgrade + +The blockchain upgrade command suite provides a collection of tools for +updating your developmental and deployed Blockchains. + +**Usage:** `avalanche blockchain upgrade [subcommand] [flags]` -To get started, look at the documentation for the subcommands or jump right in with `avalanche blockchain create myblockchain`. +**Flags:** -[Install Avalanche CLI](/tooling/guides/get-avalanche-cli) +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for upgrade | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +**Subcommands:** + +- [`apply`](#upgrade-apply): Apply generated upgrade bytes to running Blockchain nodes to trigger a network upgrade. + +For public networks (Fuji Testnet or Mainnet), to complete this process, +you must have access to the machine running your validator. +If the CLI is running on the same machine as your validator, it can manipulate your node's +configuration automatically. Alternatively, the command can print the necessary instructions +to upgrade your node manually. -Primary[​](#primary "Direct link to heading") ---------------------------------------------- +After you update your validator's configuration, you need to restart your validator manually. +If you provide the --avalanchego-chain-config-dir flag, this command attempts to write the upgrade file at that path. +Refer to https://docs.avax.network/nodes/maintain/chain-config-flags#subnet-chain-configs for related documentation. +- [`export`](#upgrade-export): Export the upgrade bytes file to a location of choice on disk +- [`generate`](#upgrade-generate): The blockchain upgrade generate command builds a new upgrade.json file to customize your Blockchain. It +guides the user through the process using an interactive wizard. +- [`import`](#upgrade-import): Import the upgrade bytes file into the local environment +- [`print`](#upgrade-print): Print the upgrade.json file content +- [`vm`](#upgrade-vm): The blockchain upgrade vm command enables the user to upgrade their Blockchain's VM binary. The command +can upgrade both local Blockchains and publicly deployed Blockchains on Fuji and Mainnet. + +The command walks the user through an interactive wizard. The user can skip the wizard by providing +command line flags. -The `primary` command suite provides a collection of tools for interacting with the Avalanche Primary Network. +#### upgrade apply -### Primary AddValidator +Apply generated upgrade bytes to running Blockchain nodes to trigger a network upgrade. -The `primary addValidator` command adds an Avalanche node as a validator in the Avalanche Primary Network with [AddPermissionlessValidatorTx](/api-reference/standards/guides/banff-changes#addpermissionlessvalidatortx). +For public networks (Fuji Testnet or Mainnet), to complete this process, +you must have access to the machine running your validator. +If the CLI is running on the same machine as your validator, it can manipulate your node's +configuration automatically. Alternatively, the command can print the necessary instructions +to upgrade your node manually. -This command requires the node's BLS key and proof of possession key, more information regarding BLS can be found [here](/api-reference/p-chain/txn-format#proof-of-possession). +After you update your validator's configuration, you need to restart your validator manually. +If you provide the --avalanchego-chain-config-dir flag, this command attempts to write the upgrade file at that path. +Refer to https://docs.avax.network/nodes/maintain/chain-config-flags#subnet-chain-configs for related documentation. -To get a node's BLS key and proof of possession key, call info.getNodeID API as shown [here](/api-reference/info-api#infogetnodeid) +**Usage:** `avalanche blockchain upgrade apply [subcommand] [flags]` -**Usage**: +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--avalanchego-chain-config-dir` | string avalanchego's chain config file directory (default "/Users/owen.wahlgren/.avalanchego/chains") | +| `--config` | create upgrade config for future subnet deployments (same as generate) | +| `--force` | If true, don't prompt for confirmation of timestamps in the past | +| `--fuji` | fuji apply upgrade existing fuji deployment (alias for `testnet`) | +| `-h, --help` | help for apply | +| `--local` | local apply upgrade existing local deployment | +| `--mainnet` | mainnet apply upgrade existing mainnet deployment | +| `--print` | if true, print the manual config without prompting (for public networks only) | +| `--testnet` | testnet apply upgrade existing testnet deployment (alias for `fuji`) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -```bash -avalanche primary addValidator [flags] -``` +#### upgrade export -**Flags**: +Export the upgrade bytes file to a location of choice on disk -```bash - --nodeID string the node ID of the validator --k, --key string select the key to use [fuji deploy only] - --weight uint set the staking weight of the validator - --start-time string UTC start time when this validator starts validating, in 'YYYY-MM-DD HH:MM:SS' format - --staking-period duration how long this validator will be staking - --fuji fuji join on fuji (alias for `testnet`) - --testnet testnet join on testnet (alias for `fuji`) - --mainnet mainnet join on mainnet --g, --ledger use ledger instead of key (always true on mainnet, defaults to false on fuji) - --ledger-addrs strings use the given ledger addresses - --public-key string set the BLS public key of the validator - --proof-of-possession string set the BLS proof of possession of the validator - --delegation-fee uint set the delegation fee (20 000 is equivalent to 2%) -``` +**Usage:** `avalanche blockchain upgrade export [subcommand] [flags]` -Blockchain[​](#avalanche-blockchain "Direct link to heading") -------------------------------------------- +**Flags:** -The `blockchain` command suite provides a collection of tools for developing and deploying Avalanche L1s. +| Flag | Description | +| ---- | ----------- | +| `--force` | If true, overwrite a possibly existing file without prompting | +| `-h, --help` | help for export | +| `--upgrade-filepath` | string Export upgrade bytes file to location of choice on disk | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -To get started, use the `blockchain create` command wizard to walk through the configuration of your very first Avalanche L1. Then, go ahead and deploy it with the `blockchain deploy` command. You can use the rest of the commands to manage your Avalanche L1 configurations and live deployments. +#### upgrade generate -### Add Validator +The blockchain upgrade generate command builds a new upgrade.json file to customize your Blockchain. It +guides the user through the process using an interactive wizard. -The `blockchain addValidator` command whitelists a primary network validator to validate the provided deployed Avalanche L1. +**Usage:** `avalanche blockchain upgrade generate [subcommand] [flags]` -To add the validator to the Avalanche L1's allow list, you first need to provide the blockchainName and the validator's unique NodeID. The command then prompts for the validation start time, duration, and stake weight. You can bypass these prompts by providing the values with flags. +**Flags:** -This command currently only works on Avalanche L1s deployed to either the Fuji Testnet or Mainnet. +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for generate | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -**Usage**: +#### upgrade import -```bash -avalanche blockchain addValidator [blockchainName] [flags] -``` +Import the upgrade bytes file into the local environment -**Flags**: +**Usage:** `avalanche blockchain upgrade import [subcommand] [flags]` -```bash - --default-validator-params use default weight/start/duration params for subnet validator - --devnet devnet add subnet validator on devnet - --endpoint string use the given endpoint for network operations --e, --ewoq use ewoq key [fuji/devnet only] - --fuji fuji add subnet validator on fuji (alias for `testnet`) --h, --help help for addValidator --k, --key string select the key to use [fuji/devnet only] --g, --ledger use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) - --ledger-addrs strings use the given ledger addresses - --local local add subnet validator on local - --mainnet mainnet add subnet validator on mainnet - --nodeID string set the NodeID of the validator to add - --output-tx-path string file path of the add validator tx - --staking-period duration how long this validator will be staking - --start-time string UTC start time when this validator starts validating, in 'YYYY-MM-DD HH:MM:SS' format - --subnet-auth-keys strings control keys that will be used to authenticate add validator tx - --testnet testnet add subnet validator on testnet (alias for `fuji`) - --weight uint set the staking weight of the validator to add -``` +**Flags:** -### Remove Validator +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for import | +| `--upgrade-filepath` | string Import upgrade bytes file into local environment | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -This command removes a node as a validator in an Avalanche L1. +#### upgrade print -**Usage**: +Print the upgrade.json file content -```bash -avalanche blockchain removeValidator [blockchainName] [flags] -``` +**Usage:** `avalanche blockchain upgrade print [subcommand] [flags]` -**Flags**: +**Flags:** -```bash - --fuji remove validator in existing fuji deployment (alias for `testnet`) --k, --key string select the key to use [fuji only] --g, --ledger use ledger instead of key (always true on mainnet, defaults to false on fuji) - --ledger-addrs strings use the given ledger addresses - --local remove validator in existing local deployment - --mainnet remove validator in existing mainnet deployment - --nodeID string set the NodeID of the validator to remove - --output-tx-path string file path of the removeValidator tx - --subnet-auth-keys strings control keys that will be used to authenticate removeValidator tx - --testnet remove validator in existing testnet deployment (alias for `fuji`) -``` - -### Change Owner - -The `blockchain changeOwner` changes the owner of the deployed Avalanche L1. - -This command currently only works on Avalanche L1s deployed to Devnet, Fuji or Mainnet. - -**Usage**: - -```bash -avalanche blockchain changeOwner [blockchainName] [flags] -``` - -**Flags**: - -```bash - --control-keys strings addresses that may make subnet changes - --devnet devnet change subnet owner on devnet - --endpoint string use the given endpoint for network operations --e, --ewoq use ewoq key [fuji/devnet] - --fuji fuji change subnet owner on fuji (alias for `testnet`) --h, --help help for changeOwner --k, --key string select the key to use [fuji/devnet] --g, --ledger use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) - --ledger-addrs strings use the given ledger addresses - --local local change subnet owner on local - --mainnet mainnet change subnet owner on mainnet - --output-tx-path string file path of the transfer subnet ownership tx --s, --same-control-key use the fee-paying key as control key - --subnet-auth-keys strings control keys that will be used to authenticate transfer subnet ownership tx - --testnet testnet change subnet owner on testnet (alias for `fuji`) - --threshold uint32 required number of control key signatures to make subnet changes -``` +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for print | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -### Configure - -AvalancheGo nodes support several different configuration files. Avalanche L1s have their own Avalanche L1 config which applies to all chains/VMs in the Avalanche L1. Each chain within the Avalanche L1 can have its own chain config. This command allows you to set both config files. - -**Usage**: - -```bash -avalanche blockchain configure [blockchainName] [flags] -``` - -**Flags**: - -```bash - --chain-config string path to the chain configuration --h, --help help for configure - --per-node-chain-config string path to per node chain configuration for local network - --subnet-config string path to the subnet configuration -``` - -### Create -The `blockchain create` command builds a new genesis file to configure your Avalanche L1. By default, the command runs an interactive wizard. It walks you through all the steps you need to create your first Avalanche L1. - -The tool supports deploying Subnet-EVM and custom VMs. You can create a custom, user-generated genesis with a custom VM by providing the path to your genesis and VM binaries with the `--genesis` and `--vm` flags. - -By default, running the command with a `blockchainName` that already exists causes the command to fail. If you'd like to overwrite an existing configuration, pass the `-f` flag. - -**Usage**: - -```bash -avalanche blockchain create [blockchainName] [flags] -``` - -**Flags**: - -```bash - --custom use a custom VM template - --custom-vm-branch string custom vm branch - --custom-vm-build-script string custom vm build-script - --custom-vm-path string file path of custom vm to use - --custom-vm-repo-url string custom vm repository url - --evm use the Subnet-EVM as the base template - --evm-chain-id uint chain ID to use with Subnet-EVM - --evm-defaults use default settings for fees/airdrop/precompiles with Subnet-EVM - --evm-token string token name to use with Subnet-EVM --f, --force overwrite the existing configuration if one exists - --from-github-repo generate custom VM binary from github repository - --genesis string file path of genesis to use --h, --help help for create - --latest use latest Subnet-EVM released version, takes precedence over --vm-version - --pre-release use latest Subnet-EVM pre-released version, takes precedence over --vm-version - --relayer run AWM relayer when deploying the vm - --teleporter generate a teleporter-ready vm (default true) - --vm string file path of custom vm to use. alias to custom-vm-path - --vm-version string version of Subnet-EVM template to use - --warp generate a vm with warp support (needed for teleporter) -``` +#### upgrade vm -### Delete +The blockchain upgrade vm command enables the user to upgrade their Blockchain's VM binary. The command +can upgrade both local Blockchains and publicly deployed Blockchains on Fuji and Mainnet. -The `blockchain delete` command deletes an existing Avalanche L1 configuration. +The command walks the user through an interactive wizard. The user can skip the wizard by providing +command line flags. -**Usage**: +**Usage:** `avalanche blockchain upgrade vm [subcommand] [flags]` -```bash -avalanche blockchain delete [flags] -``` +**Flags:** -**Flags**: +| Flag | Description | +| ---- | ----------- | +| `--binary` | string Upgrade to custom binary | +| `--config` | upgrade config for future subnet deployments | +| `--fuji` | fuji upgrade existing fuji deployment (alias for `testnet`) | +| `-h, --help` | help for vm | +| `--latest` | upgrade to latest version | +| `--local` | local upgrade existing local deployment | +| `--mainnet` | mainnet upgrade existing mainnet deployment | +| `--plugin-dir` | string plugin directory to automatically upgrade VM | +| `--print` | print instructions for upgrading | +| `--testnet` | testnet upgrade existing testnet deployment (alias for `fuji`) | +| `--version` | string Upgrade to custom version | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -```bash --h, --help help for delete -``` +### validators -### Deploy +The blockchain validators command lists the validators of a blockchain's subnet and provides +several statistics about them. -The `blockchain deploy` command deploys your Avalanche L1 configuration locally, to Fuji Testnet, or to Mainnet. +**Usage:** `avalanche blockchain validators [subcommand] [flags]` -At the end of the call, the command prints the RPC URL you can use to interact with the Avalanche L1. +**Flags:** -Avalanche-CLI only supports deploying an individual Avalanche L1 once per network. Subsequent attempts to deploy the same Avalanche L1 to the same network (local, Fuji, Mainnet) aren't allowed. If you'd like to redeploy an Avalanche L1 locally for testing, you must first call [avalanche network clean](#network-clean) to reset all deployed chain state. Subsequent local deploys redeploy the chain with fresh state. You can deploy the same Avalanche L1 to multiple networks, so you can take your locally tested Avalanche L1 and deploy it on Fuji or Mainnet. +| Flag | Description | +| ---- | ----------- | +| `--cluster` | string operate on the given cluster | +| `--devnet` | operate on a devnet network | +| `--endpoint` | string use the given endpoint for network operations | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `-h, --help` | help for validators | +| `-l, --local` | operate on a local network | +| `-m, --mainnet` | operate on mainnet | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -**Usage**: +### vmid -```bash -avalanche blockchain deploy [blockchainName] [flags] -``` +The blockchain vmid command prints the virtual machine ID (VMID) for the given Blockchain. -**Flags**: +**Usage:** `avalanche blockchain vmid [subcommand] [flags]` -```bash - --avalanchego-path string use this avalanchego binary path - --avalanchego-version string use this version of avalanchego (ex: v1.17.12) (default "latest") - --control-keys strings addresses that may make subnet changes - --devnet deploy to a devnet network - --endpoint string use the given endpoint for network operations --e, --ewoq use ewoq key [fuji/devnet deploy only] --f, --fuji testnet deploy to fuji (alias to testnet --h, --help help for deploy --k, --key string select the key to use [fuji/devnet deploy only] --g, --ledger use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) - --ledger-addrs strings use the given ledger addresses --l, --local deploy to a local network --m, --mainnet deploy to mainnet - --mainnet-chain-id string use different ChainID for mainnet deployment - --output-tx-path string file path of the blockchain creation tx --s, --same-control-key use creation key as control key - --subnet-auth-keys strings control keys that will be used to authenticate chain creation --u, --subnet-id string deploy into given subnet id --t, --testnet fuji deploy to testnet (alias to fuji) - --threshold uint32 required number of control key signatures to make subnet changes -``` +**Flags:** -### Describe +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for vmid | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -The `blockchain describe` command prints the details of an Avalanche L1 configuration to the console. By default, the command prints a summary of the configuration. By providing the `--genesis` flag, the command instead prints out the raw genesis file. +## avalanche config -**Usage**: +Customize configuration for Avalanche-CLI -```bash -avalanche blockchain describe [blockchainName] [flags] -``` +**Usage:** `avalanche config [subcommand] [flags]` -**Flags**: +**Flags:** -```bash --g, --genesis Print the genesis to the console directly instead of the summary --h, --help help for describe -``` +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for config | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -### Export +**Subcommands:** -The `blockchain export` command write the details of an existing Avalanche L1 deploy to a file. +- [`authorize-cloud-access`](#config-authorize-cloud-access): set preferences to authorize access to cloud resources +- [`metrics`](#config-metrics): set user metrics collection preferences +- [`migrate`](#config-migrate): migrate command migrates old ~/.avalanche-cli.json and ~/.avalanche-cli/config to /.avalanche-cli/config.json.. +- [`singleNode`](#config-singlenode): set user preference between single node and five nodes local network +- [`snapshotsAutoSave`](#config-snapshotsautosave): set user preference between auto saving local network snapshots or not -The command prompts for an output path. You can also provide one with the `--output` flag. +### authorize-cloud-access -**Usage**: +set preferences to authorize access to cloud resources -```bash -avalanche blockchain export [blockchainName] [flags] -``` +**Usage:** `avalanche config authorize-cloud-access [subcommand] [flags]` -**Flags**: +**Flags:** -```bash --h, --help help for export --o, --output string write the export data to the provided file path -``` +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for authorize-cloud-access | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -### Import +### metrics -The `blockchain import` command imports configurations into Avalanche-CLI. +set user metrics collection preferences -This command supports importing from a file created on another computer, or importing from Avalanche L1s running public networks (for example, created manually or with the deprecated Avalanche-CLI) +**Usage:** `avalanche config metrics [subcommand] [flags]` -#### Import from a File +**Flags:** -To import from a file, you can optionally provide the path as a command-line argument. Alternatively, running the command without any arguments triggers an interactive wizard. To import from a repository, go through the wizard. By default, an imported Avalanche L1 doesn't overwrite an existing Avalanche L1 with the same name. To allow overwrites, provide the `--force` flag. +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for metrics | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -**Usage**: +### migrate -```bash -avalanche blockchain import file [blockchainPath] [flags] -``` +migrate command migrates old ~/.avalanche-cli.json and ~/.avalanche-cli/config to /.avalanche-cli/config.json.. -**Flags**: +**Usage:** `avalanche config migrate [subcommand] [flags]` -```bash - --branch string the repo branch to use if downloading a new repo --f, --force overwrite the existing configuration if one exists --h, --help help for import - --repo string the repo to import (ex: ava-labs/avalanche-plugins-core) or url to download the repo from - --subnet string the subnet configuration to import from the provided repo -``` +**Flags:** -#### Import from a Public Network +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for migrate | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -The `blockchain import public` command imports an Avalanche L1 configuration from a running network. +### singleNode -The genesis file should be available from the disk for this to work. By default, an imported Avalanche L1 doesn't overwrite an existing Avalanche L1 with the same name. To allow overwrites, provide the `--force` flag. +set user preference between single node and five nodes local network -**Usage**: +**Usage:** `avalanche config singleNode [subcommand] [flags]` -```bash -avalanche blockchain import public [blockchainPath] [flags] -``` +**Flags:** -**Flags**: +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for singleNode | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -```bash - --custom use a custom VM template - --evm import a subnet-evm --f, --force overwrite the existing configuration if one exists - --fuji fuji import from fuji (alias for `testnet`) - --genesis-file-path string path to the genesis file --h, --help help for public - --mainnet mainnet import from mainnet - --node-url string [optional] URL of an already running subnet validator - --subnet-id string the subnet ID - --testnet testnet import from testnet (alias for `fuji`) +### snapshotsAutoSave -``` +set user preference between auto saving local network snapshots or not -### Join +**Usage:** `avalanche config snapshotsAutoSave [subcommand] [flags]` -The `blockchain join` command configures your validator node to begin validating a new Avalanche L1. +**Flags:** -To complete this process, you must have access to the machine running your validator. If the CLI is running on the same machine as your validator, it can generate or update your node's config file automatically. Alternatively, the command can print the necessary instructions to update your node manually. To complete the validation process, the Avalanche L1's admins must add the NodeID of your validator to the Avalanche L1's allow list by calling `addValidator` with your NodeID. +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for snapshotsAutoSave | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -After you update your validator's config, you need to restart your validator manually. If you provide the `--avalanchego-config` flag, this command attempts to edit the config file at that path. +## avalanche contract -This command currently only supports Avalanche L1s deployed on the Fuji Testnet and Mainnet. +The contract command suite provides a collection of tools for deploying +and interacting with smart contracts. -**Usage**: +**Usage:** `avalanche contract [subcommand] [flags]` -```bash -avalanche blockchain join [blockchainName] [flags] -``` +**Flags:** -**Flags**: +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for contract | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -```bash - --avalanchego-config string file path of the avalanchego config file - --fail-if-not-validating fail if whitelist check fails - --force-whitelist-check if true, force the whitelist check - --force-write if true, skip to prompt to overwrite the config file - --fuji fuji join on fuji (alias for `testnet`) --h, --help help for join - --mainnet mainnet join on mainnet - --nodeID string set the NodeID of the validator to check - --plugin-dir string file path of avalanchego's plugin directory - --print if true, print the manual config without prompting - --skip-whitelist-check if true, skip the whitelist check - --testnet testnet join on testnet (alias for `fuji`) -``` +**Subcommands:** -### List +- [`deploy`](#contract-deploy): The contract command suite provides a collection of tools for deploying +smart contracts. -The `blockchain list` command prints the names of all created Avalanche L1 configurations. Without any flags, it prints some general, static information about the Avalanche L1. With the `--deployed` flag, the command shows additional information including the VMID, BlockchainID and SubnetID. +### deploy -**Usage**: +The contract command suite provides a collection of tools for deploying +smart contracts. -```bash -avalanche blockchain list [flags] -``` +**Usage:** `avalanche contract deploy [subcommand] [flags]` -**Flags**: +**Flags:** -```bash - --deployed show additional deploy information --h, --help help for list -``` +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for deploy | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -### Publish +**Subcommands:** -The `blockchain publish` command publishes the Avalanche L1's VM to a repository. +- [`erc20`](#deploy-erc20): Deploy an ERC20 token into a given Network and Blockchain -**Usage**: +#### deploy erc20 -```bash -avalanche blockchain publish [blockchainName] [flags] -``` +Deploy an ERC20 token into a given Network and Blockchain -**Flags**: +**Usage:** `avalanche contract deploy erc20 [subcommand] [flags]` -```bash - --alias string We publish to a remote repo, but identify the repo locally under a user-provided alias (e.g. myrepo). - --force If true, ignores if the subnet has been published in the past, and attempts a forced publish. --h, --help help for publish - --no-repo-path string Do not let the tool manage file publishing, but have it only generate the files and put them in the location given by this flag. - --repo-url string The URL of the repo where we are publishing - --subnet-file-path string Path to the Subnet description file. If not given, a prompting sequence will be initiated. - --vm-file-path string Path to the VM description file. If not given, a prompting sequence will be initiated. -``` +**Flags:** -### Stats +| Flag | Description | +| ---- | ----------- | +| `--blockchain` | string deploy the ERC20 contract into the given CLI blockchain | +| `--blockchain-id` | string deploy the ERC20 contract into the given blockchain ID/Alias | +| `--c-chain` | deploy the ERC20 contract into C-Chain | +| `--cluster` | string operate on the given cluster | +| `--devnet` | operate on a devnet network | +| `--endpoint` | string use the given endpoint for network operations | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `--funded` | string set the funded address | +| `--genesis-key` | use genesis allocated key as contract deployer | +| `-h, --help` | help for erc20 | +| `--key` | string CLI stored key to use as contract deployer | +| `-l, --local` | operate on a local network | +| `--private-key` | string private key to use as contract deployer | +| `--rpc` | string deploy the contract into the given rpc endpoint | +| `--subnet` | string deploy the ERC20 contract into the given CLI blockchain | +| `--supply` | uint set the token supply | +| `--symbol` | string set the token symbol | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -The `blockchain stats` command prints validator statistics for the given Avalanche L1. +## avalanche help -**Usage**: +Help provides help for any command in the application. +Simply type avalanche help [path to command] for full details. -```bash -avalanche blockchain stats [blockchainName] [flags] -``` +**Usage:** `avalanche help [subcommand] [flags]` -**Flags**: +**Flags:** -```bash - --fuji fuji print stats on fuji (alias for `testnet`) --h, --help help for stats - --mainnet mainnet print stats on mainnet - --testnet testnet print stats on testnet (alias for `fuji`) -``` +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for help | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -### VMID +## avalanche ictt -The `blockchain vmid` command prints the virtual machine ID (VMID) for the given Avalanche L1. +The ictt command suite provides tools to deploy and manage Interchain Token Transferrers. -**Usage**: +**Usage:** `avalanche ictt [subcommand] [flags]` -```bash -avalanche blockchain vmid [blockchainName] -``` +**Flags:** -Blockchain Upgrade[​](#avalanche-blockchain-upgrade "Direct link to heading") ------------------------------------------------------------ +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for ictt | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -The `blockchain upgrade` command suite provides a collection of tools for updating your developmental and deployed Avalanche L1s. +**Subcommands:** -### Apply +- [`deploy`](#ictt-deploy): Deploys a Token Transferrer into a given Network and Subnets -Apply generated upgrade bytes to running Avalanche L1 nodes to trigger a network upgrade. +### deploy -For public networks (Fuji Testnet or Mainnet), to complete this process, you must have access to the machine running your validator. If the CLI is running on the same machine as your validator, it can manipulate your node's configuration automatically. Alternatively, the command can print the necessary instructions to upgrade your node manually. +Deploys a Token Transferrer into a given Network and Subnets -After you update your validator's configuration, you need to restart your validator manually. If you provide the `--avalanchego-chain-config-dir` flag, this command attempts to write the upgrade file at that path. Refer to [this doc](/nodes/configure/configs-flags#avalanche-l1-chain-configs) for related documentation. +**Usage:** `avalanche ictt deploy [subcommand] [flags]` -**Usage**: +**Flags:** -```bash -avalanche blockchain upgrade apply [blockchainName] [flags] -``` +| Flag | Description | +| ---- | ----------- | +| `--c-chain-home` | set the Transferrer's Home Chain into C-Chain | +| `--c-chain-remote` | set the Transferrer's Remote Chain into C-Chain | +| `--cluster` | string operate on the given cluster | +| `--deploy-erc20-home` | string deploy a Transferrer Home for the given Chain's ERC20 Token | +| `--deploy-native-home` | deploy a Transferrer Home for the Chain's Native Token | +| `--deploy-native-remote` | deploy a Transferrer Remote for the Chain's Native Token | +| `--devnet` | operate on a devnet network | +| `--endpoint` | string use the given endpoint for network operations | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `-h, --help` | help for deploy | +| `--home-blockchain` | string set the Transferrer's Home Chain into the given CLI blockchain | +| `--home-genesis-key` | use genesis allocated key to deploy Transferrer Home | +| `--home-key` | string CLI stored key to use to deploy Transferrer Home | +| `--home-private-key` | string private key to use to deploy Transferrer Home | +| `--home-rpc` | string use the given RPC URL to connect to the home blockchain | +| `-l, --local` | operate on a local network | +| `--remote-blockchain` | string set the Transferrer's Remote Chain into the given CLI blockchain | +| `--remote-genesis-key` | use genesis allocated key to deploy Transferrer Remote | +| `--remote-key` | string CLI stored key to use to deploy Transferrer Remote | +| `--remote-private-key` | string private key to use to deploy Transferrer Remote | +| `--remote-rpc` | string use the given RPC URL to connect to the remote blockchain | +| `--remote-token-decimals` | uint8 use the given number of token decimals for the Transferrer Remote [defaults to token home's decimals (18 for a new wrapped native home token)] | +| `--remove-minter-admin` | remove the native minter precompile admin found on remote blockchain genesis | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--use-home` | string use the given Transferrer's Home Address | +| `--version` | string tag/branch/commit of Avalanche Interchain Token Transfer (ICTT) to be used (defaults to main branch) | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +## avalanche interchain + +The interchain command suite provides a collection of tools to +set and manage interoperability between blockchains. + +**Usage:** `avalanche interchain [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for interchain | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +**Subcommands:** + +- [`tokenTransferrer`](#interchain-tokentransferrer): The tokenTransfer command suite provides tools to deploy and manage Token Transferrers. + +### tokenTransferrer + +The tokenTransfer command suite provides tools to deploy and manage Token Transferrers. + +**Usage:** `avalanche interchain tokenTransferrer [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for tokenTransferrer | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +**Subcommands:** + +- [`deploy`](#tokentransferrer-deploy): Deploys a Token Transferrer into a given Network and Subnets -**Flags**: +#### tokenTransferrer deploy -```bash - --avalanchego-chain-config-dir string avalanchego's chain config file directory (default "/Users/connor/.avalanchego/chains") - --config create upgrade config for future subnet deployments (same as generate) - --force If true, don't prompt for confirmation of timestamps in the past - --fuji fuji apply upgrade existing fuji deployment (alias for `testnet`) --h, --help help for apply - --local local apply upgrade existing local deployment - --mainnet mainnet apply upgrade existing mainnet deployment - --print if true, print the manual config without prompting (for public networks only) - --testnet testnet apply upgrade existing testnet deployment (alias for `fuji`) -``` +Deploys a Token Transferrer into a given Network and Subnets + +**Usage:** `avalanche interchain tokenTransferrer deploy [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--c-chain-home` | set the Transferrer's Home Chain into C-Chain | +| `--c-chain-remote` | set the Transferrer's Remote Chain into C-Chain | +| `--cluster` | string operate on the given cluster | +| `--deploy-erc20-home` | string deploy a Transferrer Home for the given Chain's ERC20 Token | +| `--deploy-native-home` | deploy a Transferrer Home for the Chain's Native Token | +| `--deploy-native-remote` | deploy a Transferrer Remote for the Chain's Native Token | +| `--devnet` | operate on a devnet network | +| `--endpoint` | string use the given endpoint for network operations | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `-h, --help` | help for deploy | +| `--home-blockchain` | string set the Transferrer's Home Chain into the given CLI blockchain | +| `--home-genesis-key` | use genesis allocated key to deploy Transferrer Home | +| `--home-key` | string CLI stored key to use to deploy Transferrer Home | +| `--home-private-key` | string private key to use to deploy Transferrer Home | +| `--home-rpc` | string use the given RPC URL to connect to the home blockchain | +| `-l, --local` | operate on a local network | +| `--remote-blockchain` | string set the Transferrer's Remote Chain into the given CLI blockchain | +| `--remote-genesis-key` | use genesis allocated key to deploy Transferrer Remote | +| `--remote-key` | string CLI stored key to use to deploy Transferrer Remote | +| `--remote-private-key` | string private key to use to deploy Transferrer Remote | +| `--remote-rpc` | string use the given RPC URL to connect to the remote blockchain | +| `--remote-token-decimals` | uint8 use the given number of token decimals for the Transferrer Remote [defaults to token home's decimals (18 for a new wrapped native home token)] | +| `--remove-minter-admin` | remove the native minter precompile admin found on remote blockchain genesis | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--use-home` | string use the given Transferrer's Home Address | +| `--version` | string tag/branch/commit of Avalanche Interchain Token Transfer (ICTT) to be used (defaults to main branch) | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +## avalanche key -### Export +The key command suite provides a collection of tools for creating and managing +signing keys. You can use these keys to deploy Subnets to the Fuji Testnet, +but these keys are NOT suitable to use in production environments. DO NOT use +these keys on Mainnet. -Export the upgrade bytes file to a location of choice on disk. +To get started, use the key create command. -**Usage**: +**Usage:** `avalanche key [subcommand] [flags]` -```bash -avalanche blockchain upgrade export [blockchainName] [flags] -``` +**Flags:** -**Flags**: +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for key | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -```bash - --force If true, overwrite a possibly existing file without prompting --h, --help help for export - --upgrade-filepath string Export upgrade bytes file to location of choice on disk -``` +**Subcommands:** -### Generate +- [`create`](#key-create): The key create command generates a new private key to use for creating and controlling +test Subnets. Keys generated by this command are NOT cryptographically secure enough to +use in production environments. DO NOT use these keys on Mainnet. -The `blockchain upgrade generate` command builds a new upgrade.json file to customize your Avalanche L1. It guides the user through the process using an interactive wizard. +The command works by generating a secp256 key and storing it with the provided keyName. You +can use this key in other commands by providing this keyName. -**Usage**: +If you'd like to import an existing key instead of generating one from scratch, provide the +--file flag. +- [`delete`](#key-delete): The key delete command deletes an existing signing key. -```bash -avalanche blockchain upgrade generate [blockchainName] [flags] -``` +To delete a key, provide the keyName. The command prompts for confirmation +before deleting the key. To skip the confirmation, provide the --force flag. +- [`export`](#key-export): The key export command exports a created signing key. You can use an exported key in other +applications or import it into another instance of Avalanche-CLI. + +By default, the tool writes the hex encoded key to stdout. If you provide the --output +flag, the command writes the key to a file of your choosing. +- [`list`](#key-list): The key list command prints information for all stored signing +keys or for the ledger addresses associated to certain indices. +- [`transfer`](#key-transfer): The key transfer command allows to transfer funds between stored keys or ledger addresses. + +### create + +The key create command generates a new private key to use for creating and controlling +test Subnets. Keys generated by this command are NOT cryptographically secure enough to +use in production environments. DO NOT use these keys on Mainnet. + +The command works by generating a secp256 key and storing it with the provided keyName. You +can use this key in other commands by providing this keyName. + +If you'd like to import an existing key instead of generating one from scratch, provide the +--file flag. + +**Usage:** `avalanche key create [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--file` | string import the key from an existing key file | +| `-f, --force` | overwrite an existing key with the same name | +| `-h, --help` | help for create | +| `--skip-balances` | do not query public network balances for an imported key | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### delete + +The key delete command deletes an existing signing key. + +To delete a key, provide the keyName. The command prompts for confirmation +before deleting the key. To skip the confirmation, provide the --force flag. + +**Usage:** `avalanche key delete [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `-f, --force` | delete the key without confirmation | +| `-h, --help` | help for delete | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### export + +The key export command exports a created signing key. You can use an exported key in other +applications or import it into another instance of Avalanche-CLI. + +By default, the tool writes the hex encoded key to stdout. If you provide the --output +flag, the command writes the key to a file of your choosing. + +**Usage:** `avalanche key export [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for export | +| `-o, --output` | string write the key to the provided file path | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### list + +The key list command prints information for all stored signing +keys or for the ledger addresses associated to certain indices. + +**Usage:** `avalanche key list [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `-a, --all-networks` | list all network addresses | +| `--blockchains` | strings blockchains to show information about (p=p-chain, x=x-chain, c=c-chain, and blockchain names) (default p,x,c) | +| `-c, --cchain` | list C-Chain addresses (default true) | +| `--cluster` | string operate on the given cluster | +| `--devnet` | operate on a devnet network | +| `--endpoint` | string use the given endpoint for network operations | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `-h, --help` | help for list | +| `--keys` | strings list addresses for the given keys | +| `-g, --ledger` | uints list ledger addresses for the given indices (default []) | +| `-l, --local` | operate on a local network | +| `-m, --mainnet` | operate on mainnet | +| `--pchain` | list P-Chain addresses (default true) | +| `--subnets` | strings subnets to show information about (p=p-chain, x=x-chain, c=c-chain, and subnet names) (default p,x,c) | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--tokens` | strings provide balance information for the given token contract addresses (Evm only) (default [Native]) | +| `--use-gwei` | use gwei for EVM balances | +| `-n, --use-nano-avax` | use nano Avax for balances | +| `--xchain` | list X-Chain addresses (default true) | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### transfer + +The key transfer command allows to transfer funds between stored keys or ledger addresses. + +**Usage:** `avalanche key transfer [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `-o, --amount` | float amount to send or receive (AVAX or TOKEN units) | +| `--cluster` | string operate on the given cluster | +| `-a, --destination-addr` | string destination address | +| `--destination-key` | string key associated to a destination address | +| `--destination-subnet` | string subnet where the funds will be sent (token transferrer experimental) | +| `--destination-transferrer-address` | string token transferrer address at the destination subnet (token transferrer experimental) | +| `--devnet` | operate on a devnet network | +| `--endpoint` | string use the given endpoint for network operations | +| `--force` | avoid transfer confirmation | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `--fund-p-chain` | fund P-Chain account on destination | +| `--fund-x-chain` | fund X-Chain account on destination | +| `-h, --help` | help for transfer | +| `-k, --key` | string key associated to the sender or receiver address | +| `-i, --ledger` | uint32 ledger index associated to the sender or receiver address (default 32768) | +| `-l, --local` | operate on a local network | +| `-m, --mainnet` | operate on mainnet | +| `--origin-subnet` | string subnet where the funds belong (token transferrer experimental) | +| `--origin-transferrer-address` | string token transferrer address at the origin subnet (token transferrer experimental) | +| `-g, --receive` | receive the transfer | +| `-r, --receive-recovery-step` | uint receive step to use for multiple step transaction recovery | +| `-s, --send` | send the transfer | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +## avalanche network + +The network command suite provides a collection of tools for managing local Subnet +deployments. + +When you deploy a Subnet locally, it runs on a local, multi-node Avalanche network. The +subnet deploy command starts this network in the background. This command suite allows you +to shutdown, restart, and clear that network. + +This network currently supports multiple, concurrently deployed Subnets. + +**Usage:** `avalanche network [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for network | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +**Subcommands:** + +- [`clean`](#network-clean): The network clean command shuts down your local, multi-node network. All deployed Subnets +shutdown and delete their state. You can restart the network by deploying a new Subnet +configuration. +- [`start`](#network-start): The network start command starts a local, multi-node Avalanche network on your machine. + +By default, the command loads the default snapshot. If you provide the --snapshot-name +flag, the network loads that snapshot instead. The command fails if the local network is +already running. +- [`status`](#network-status): The network status command prints whether or not a local Avalanche +network is running and some basic stats about the network. +- [`stop`](#network-stop): The network stop command shuts down your local, multi-node network. + +All deployed Subnets shutdown gracefully and save their state. If you provide the +--snapshot-name flag, the network saves its state under this named snapshot. You can +reload this snapshot with network start --snapshot-name `snapshotName`. Otherwise, the +network saves to the default snapshot, overwriting any existing state. You can reload the +default snapshot with network start. + +### clean + +The network clean command shuts down your local, multi-node network. All deployed Subnets +shutdown and delete their state. You can restart the network by deploying a new Subnet +configuration. + +**Usage:** `avalanche network clean [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--hard` | Also clean downloaded avalanchego and plugin binaries | +| `-h, --help` | help for clean | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### start + +The network start command starts a local, multi-node Avalanche network on your machine. + +By default, the command loads the default snapshot. If you provide the --snapshot-name +flag, the network loads that snapshot instead. The command fails if the local network is +already running. + +**Usage:** `avalanche network start [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--avalanchego-path` | string use this avalanchego binary path | +| `--avalanchego-version` | string use this version of avalanchego (ex: v1.17.12) (default "latest") | +| `-h, --help` | help for start | +| `--snapshot-name` | string name of snapshot to use to start the network from (default "default-1654102509") | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -**Flags**: +### status -```bash --h, --help help for generate -``` +The network status command prints whether or not a local Avalanche +network is running and some basic stats about the network. -### Import +**Usage:** `avalanche network status [subcommand] [flags]` -Import the upgrade bytes file into the local environment. +**Flags:** -**Usage**: +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for status | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -```bash -avalanche blockchain upgrade import [blockchainName] [flags] -``` +### stop -**Flags**: +The network stop command shuts down your local, multi-node network. -```bash --h, --help help for import - --upgrade-filepath string Import upgrade bytes file into local environment -``` +All deployed Subnets shutdown gracefully and save their state. If you provide the +--snapshot-name flag, the network saves its state under this named snapshot. You can +reload this snapshot with network start --snapshot-name `snapshotName`. Otherwise, the +network saves to the default snapshot, overwriting any existing state. You can reload the +default snapshot with network start. -### Print +**Usage:** `avalanche network stop [subcommand] [flags]` -Print the upgrade.json file content. +**Flags:** -**Usage**: +| Flag | Description | +| ---- | ----------- | +| `--dont-save` | do not save snapshot, just stop the network | +| `-h, --help` | help for stop | +| `--snapshot-name` | string name of snapshot to use to save network state into (default "default-1654102509") | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -```bash -avalanche blockchain upgrade print [blockchainName] [flags] -``` +## avalanche node -**Flags**: +The node command suite provides a collection of tools for creating and maintaining +validators on Avalanche Network. -### VM +To get started, use the node create command wizard to walk through the +configuration to make your node a primary validator on Avalanche public network. You can use the +rest of the commands to maintain your node and make your node a Subnet Validator. -The `blockchain upgrade vm` command enables the user to upgrade their Avalanche L1's VM binary. The command can upgrade both local Avalanche L1s and publicly deployed Avalanche L1s on Fuji and Mainnet. +**Usage:** `avalanche node [subcommand] [flags]` -The command walks the user through an interactive wizard. The user can skip the wizard by providing command line flags. +**Flags:** -**Usage**: +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for node | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -```bash -avalanche blockchain upgrade export [blockchainName] [flags] -``` +**Subcommands:** -**Flags**: +- [`addDashboard`](#node-adddashboard): (ALPHA Warning) This command is currently in experimental mode. -```bash - --deployed show additional deploy information --h, --help help for list -``` +The node addDashboard command adds custom dashboard to the Grafana monitoring dashboard for the +cluster. +- [`create`](#node-create): (ALPHA Warning) This command is currently in experimental mode. -Node[​](#node "Direct link to heading") ---------------------------------------- +The node create command sets up a validator on a cloud server of your choice. +The validator will be validating the Avalanche Primary Network and Subnet +of your choice. By default, the command runs an interactive wizard. It +walks you through all the steps you need to set up a validator. +Once this command is completed, you will have to wait for the validator +to finish bootstrapping on the primary network before running further +commands on it, e.g. validating a Subnet. You can check the bootstrapping +status by running avalanche node status -The `node` command suite provides a collection of tools for creating and maintaining validators on the Avalanche Network. +The created node will be part of group of validators called `clusterName` +and users can call node commands with `clusterName` so that the command +will apply to all nodes in the cluster +- [`destroy`](#node-destroy): (ALPHA Warning) This command is currently in experimental mode. -To get started, use the node create command wizard to walk through the configuration to make your node a primary validator on Avalanche public network. You can use the rest of the commands to maintain your node and make your node an Avalanche L1 Validator. +The node destroy command terminates all running nodes in cloud server and deletes all storage disks. -### Create +If there is a static IP address attached, it will be released. +- [`devnet`](#node-devnet): (ALPHA Warning) This command is currently in experimental mode. + +The node devnet command suite provides a collection of commands related to devnets. +You can check the updated status by calling avalanche node status `clusterName` +- [`export`](#node-export): (ALPHA Warning) This command is currently in experimental mode. + +The node export command exports cluster configuration and its nodes config to a text file. + +If no file is specified, the configuration is printed to the stdout. + +Use --include-secrets to include keys in the export. In this case please keep the file secure as it contains sensitive information. + +Exported cluster configuration without secrets can be imported by another user using node import command. +- [`import`](#node-import): (ALPHA Warning) This command is currently in experimental mode. + +The node import command imports cluster configuration and its nodes configuration from a text file +created from the node export command. + +Prior to calling this command, call node whitelist command to have your SSH public key and IP whitelisted by +the cluster owner. This will enable you to use avalanche-cli commands to manage the imported cluster. + +Please note, that this imported cluster will be considered as EXTERNAL by avalanche-cli, so some commands +affecting cloud nodes like node create or node destroy will be not applicable to it. +- [`list`](#node-list): (ALPHA Warning) This command is currently in experimental mode. + +The node list command lists all clusters together with their nodes. +- [`loadtest`](#node-loadtest): (ALPHA Warning) This command is currently in experimental mode. + +The node loadtest command suite starts and stops a load test for an existing devnet cluster. +- [`refresh-ips`](#node-refresh-ips): (ALPHA Warning) This command is currently in experimental mode. + +The node refresh-ips command obtains the current IP for all nodes with dynamic IPs in the cluster, +and updates the local node information used by CLI commands. +- [`resize`](#node-resize): (ALPHA Warning) This command is currently in experimental mode. + +The node resize command can change the amount of CPU, memory and disk space available for the cluster nodes. +- [`scp`](#node-scp): (ALPHA Warning) This command is currently in experimental mode. + +The node scp command securely copies files to and from nodes. Remote source or destionation can be specified using the following format: +[clusterName|nodeID|instanceID|IP]:/path/to/file. Regular expressions are supported for the source files like /tmp/*.txt. +File transfer to the nodes are parallelized. IF source or destination is cluster, the other should be a local file path. +If both destinations are remote, they must be nodes for the same cluster and not clusters themselves. +For example: +$ avalanche node scp [cluster1|node1]:/tmp/file.txt /tmp/file.txt +$ avalanche node scp /tmp/file.txt [cluster1|NodeID-XXXX]:/tmp/file.txt +$ avalanche node scp node1:/tmp/file.txt NodeID-XXXX:/tmp/file.txt +- [`ssh`](#node-ssh): (ALPHA Warning) This command is currently in experimental mode. + +The node ssh command execute a given command [cmd] using ssh on all nodes in the cluster if ClusterName is given. +If no command is given, just prints the ssh command to be used to connect to each node in the cluster. +For provided NodeID or InstanceID or IP, the command [cmd] will be executed on that node. +If no [cmd] is provided for the node, it will open ssh shell there. +- [`status`](#node-status): (ALPHA Warning) This command is currently in experimental mode. + +The node status command gets the bootstrap status of all nodes in a cluster with the Primary Network. +If no cluster is given, defaults to node list behaviour. + +To get the bootstrap status of a node with a Blockchain, use --blockchain flag +- [`sync`](#node-sync): (ALPHA Warning) This command is currently in experimental mode. + +The node sync command enables all nodes in a cluster to be bootstrapped to a Blockchain. +You can check the blockchain bootstrap status by calling avalanche node status `clusterName` --blockchain `blockchainName` +- [`update`](#node-update): (ALPHA Warning) This command is currently in experimental mode. + +The node update command suite provides a collection of commands for nodes to update +their avalanchego or VM config. + +You can check the status after update by calling avalanche node status +- [`upgrade`](#node-upgrade): (ALPHA Warning) This command is currently in experimental mode. + +The node update command suite provides a collection of commands for nodes to update +their avalanchego or VM version. + +You can check the status after upgrade by calling avalanche node status +- [`validate`](#node-validate): (ALPHA Warning) This command is currently in experimental mode. + +The node validate command suite provides a collection of commands for nodes to join +the Primary Network and Subnets as validators. +If any of the commands is run before the nodes are bootstrapped on the Primary Network, the command +will fail. You can check the bootstrap status by calling avalanche node status `clusterName` +- [`whitelist`](#node-whitelist): (ALPHA Warning) The whitelist command suite provides a collection of tools for granting access to the cluster. + + Command adds IP if --ip params provided to cloud security access rules allowing it to access all nodes in the cluster via ssh or http. + It also command adds SSH public key to all nodes in the cluster if --ssh params is there. + If no params provided it detects current user IP automaticaly and whitelists it + +### addDashboard + +(ALPHA Warning) This command is currently in experimental mode. + +The node addDashboard command adds custom dashboard to the Grafana monitoring dashboard for the +cluster. + +**Usage:** `avalanche node addDashboard [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--add-grafana-dashboard` | string path to additional grafana dashboard json file | +| `-h, --help` | help for addDashboard | +| `--subnet` | string subnet that the dasbhoard is intended for (if any) | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### create + +(ALPHA Warning) This command is currently in experimental mode. + +The node create command sets up a validator on a cloud server of your choice. +The validator will be validating the Avalanche Primary Network and Subnet +of your choice. By default, the command runs an interactive wizard. It +walks you through all the steps you need to set up a validator. +Once this command is completed, you will have to wait for the validator +to finish bootstrapping on the primary network before running further +commands on it, e.g. validating a Subnet. You can check the bootstrapping +status by running avalanche node status + +The created node will be part of group of validators called `clusterName` +and users can call node commands with `clusterName` so that the command +will apply to all nodes in the cluster + +**Usage:** `avalanche node create [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--add-grafana-dashboard` | string path to additional grafana dashboard json file | +| `--alternative-key-pair-name` | string key pair name to use if default one generates conflicts | +| `--authorize-access` | authorize CLI to create cloud resources | +| `--auto-replace-keypair` | automatically replaces key pair to access node if previous key pair is not found | +| `--avalanchego-version-from-subnet` | string install latest avalanchego version, that is compatible with the given subnet, on node/s | +| `--aws` | create node/s in AWS cloud | +| `--aws-profile` | string aws profile to use (default "default") | +| `--aws-volume-iops` | int AWS iops (for gp3, io1, and io2 volume types only) (default 3000) | +| `--aws-volume-size` | int AWS volume size in GB (default 1000) | +| `--aws-volume-throughput` | int AWS throughput in MiB/s (for gp3 volume type only) (default 125) | +| `--aws-volume-type` | string AWS volume type (default "gp3") | +| `--cluster` | string operate on the given cluster | +| `--custom-avalanchego-version` | string install given avalanchego version on node/s | +| `--devnet` | operate on a devnet network | +| `--enable-monitoring` | set up Prometheus monitoring for created nodes. This option creates a separate monitoring cloud instance and incures additional cost | +| `--endpoint` | string use the given endpoint for network operations | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `--gcp` | create node/s in GCP cloud | +| `--gcp-credentials` | string use given GCP credentials | +| `--gcp-project` | string use given GCP project | +| `--grafana-pkg` | string use grafana pkg instead of apt repo(by default), for example https://dl.grafana.com/oss/release/grafana_10.4.1_amd64.deb | +| `-h, --help` | help for create | +| `--latest-avalanchego-pre-release-version` | install latest avalanchego pre-release version on node/s | +| `--latest-avalanchego-version` | install latest avalanchego release version on node/s | +| `--node-type` | string cloud instance type. Use 'default' to use recommended default instance type | +| `--num-apis` | ints number of API nodes(nodes without stake) to create in the new Devnet | +| `--num-validators` | ints number of nodes to create per region(s). Use comma to separate multiple numbers for each region in the same order as --region flag | +| `--public-http-port` | allow public access to avalanchego HTTP port | +| `--region` | strings create node(s) in given region(s). Use comma to separate multiple regions | +| `--ssh-agent-identity` | string use given ssh identity(only for ssh agent). If not set, default will be used | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--use-ssh-agent` | use ssh agent(ex: Yubikey) for ssh auth | +| `--use-static-ip` | attach static Public IP on cloud servers (default true) | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### destroy - -(ALPHA Warning) This command is currently in experimental mode. - - -The `node create` command sets up a validator on a cloud server of your choice. The validator will be validating the Avalanche Primary Network and Avalanche L1 of your choice. By default, the command runs an interactive wizard. It walks you through all the steps you need to set up a validator. Validators can be deployed in multiple regions/zones simultaneously. Once this command is run, you will have to wait for the validator to finish bootstrapping on the primary network before running further commands on it, for example validating an Avalanche L1. You can check the bootstrapping status by running `avalanche node status`. - -The created node will be part of group of validators called `` and users can call node commands with `` so that the command will apply to all nodes in the cluster. - -**Usage**: - -```bash -avalanche node create [clusterName] [flags] -``` - -**Flags**: - -```bash - --alternative-key-pair-name string key pair name to use if default one generates conflicts - --authorize-access authorize CLI to create cloud resources - --avalanchego-version-from-subnet string install latest avalanchego version, that is compatible with the given subnet, on node/s - --aws create node/s in AWS cloud - --aws-profile string aws profile to use (default "default") - --custom-avalanchego-version string install given avalanchego version on node/s - --devnet create node/s into a new Devnet - --devnet-api-nodes int number of API nodes(nodes without stake) to create in the new Devnet - --fuji create node/s in Fuji Network - --gcp create node/s in GCP cloud - --gcp-credentials string use given GCP credentials - --gcp-project string use given GCP project --h, --help help for create - --latest-avalanchego-pre-release-version install latest avalanchego pre-release version on node/s - --latest-avalanchego-version install latest avalanchego release version on node/s - --node-type string cloud instance type. Use 'default' to use recommended default instance type - --num-nodes ints number of nodes to create per region(s). Use comma to separate multiple numbers for each region in the same order as --region flag - --region strings create node(s) in given region(s). Use comma to separate multiple regions - --same-monitoring-instance host monitoring for a cloud servers on the same instance - --separate-monitoring-instance host monitoring for all cloud servers on a separate instance - --skip-monitoring don't set up monitoring in created nodes - --ssh-agent-identity string use given ssh identity(only for ssh agent). If not set, default will be used - --use-ssh-agent use ssh agent(ex: Yubikey) for ssh auth - --use-static-ip attach static Public IP on cloud servers (default true) -``` - -### Devnet - - (ALPHA Warning) This command is currently in experimental mode. - - -The `node devnet` command suite provides a collection of commands related to devnets. You can check the updated status by calling avalanche node status `` - -### Devnet Deploy - -The `node devnet deploy` command deploys an Avalanche L1 into a devnet cluster, creating Avalanche L1 and blockchain TXs for it. It saves the deploy info both locally and remotely. - -**Usage**: - -```bash -avalanche node devnet deploy [clusterName] [blockchainName] [flags] -``` - -### Devnet Wiz - -The `node devnet wiz` command creates a devnet and deploys, sync and validate an Avalanche L1 into it. It creates the Avalanche L1 if so needed. - -**Usage**: - -```bash -avalanche node devnet wiz [clusterName] [blockchainName] [flags] -``` - -**Flags**: - -``` - --alternative-key-pair-name string key pair name to use if default one generates conflicts - --authorize-access authorize CLI to create cloud resources - --avalanchego-version string install given avalanchego version on node/s - --aws create node/s in AWS cloud - --aws-profile string aws profile to use (default "default") - --chain-config string path to the chain configuration for subnet - --custom-subnet use a custom VM as the subnet virtual machine - --custom-vm-branch string custom vm branch - --custom-vm-build-script string custom vm build-script - --custom-vm-repo-url string custom vm repository url - --default-validator-params use default weight/start/duration params for subnet validator - --devnet-api-nodes int number of API nodes(nodes without stake) to create in the new Devnet - --evm-chain-id uint chain ID to use with Subnet-EVM - --evm-defaults use default settings for fees/airdrop/precompiles with Subnet-EVM - --evm-subnet use Subnet-EVM as the subnet virtual machine - --evm-token string token name to use with Subnet-EVM - --evm-version string version of Subnet-EVM to use - --force-subnet-create overwrite the existing subnet configuration if one exists - --gcp create node/s in GCP cloud - --gcp-credentials string use given GCP credentials - --gcp-project string use given GCP project --h, --help help for wiz - --latest-avalanchego-pre-release-version install latest avalanchego pre-release version on node/s - --latest-avalanchego-version install latest avalanchego release version on node/s - --latest-evm-version use latest Subnet-EVM released version - --latest-pre-released-evm-version use latest Subnet-EVM pre-released version - --node-config string path to avalanchego node configuration for subnet - --node-type string cloud instance type. Use 'default' to use recommended default instance type - --num-nodes ints number of nodes to create per region(s). Use comma to separate multiple numbers for each region in the same order as --region flag - --region strings create node/s in given region(s). Use comma to separate multiple regions - --same-monitoring-instance host monitoring for a cloud servers on the same instance - --separate-monitoring-instance host monitoring for all cloud servers on a separate instance - --skip-monitoring don't set up monitoring in created nodes - --ssh-agent-identity string use given ssh identity(only for ssh agent). If not set, default will be used. - --subnet-config string path to the subnet configuration for subnet - --subnet-genesis string file path of the subnet genesis - --use-ssh-agent use ssh agent for ssh - --use-static-ip attach static Public IP on cloud servers (default true) - --validators strings deploy subnet into given comma separated list of validators. defaults to all cluster nodes -``` - -### List - - + +The node destroy command terminates all running nodes in cloud server and deletes all storage disks. + +If there is a static IP address attached, it will be released. + +**Usage:** `avalanche node destroy [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--all` | destroy all existing clusters created by Avalanche CLI | +| `--authorize-access` | authorize CLI to release cloud resources | +| `-y, --authorize-all` | authorize all CLI requests | +| `--authorize-remove` | authorize CLI to remove all local files related to cloud nodes | +| `--aws-profile` | string aws profile to use (default "default") | +| `-h, --help` | help for destroy | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### devnet + (ALPHA Warning) This command is currently in experimental mode. - -The `node list` command lists all clusters together with their nodes. +The node devnet command suite provides a collection of commands related to devnets. +You can check the updated status by calling avalanche node status `clusterName` -**Usage**: +**Usage:** `avalanche node devnet [subcommand] [flags]` -```bash -avalanche node list [flags] -``` +**Flags:** -### Ssh +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for devnet | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +**Subcommands:** + +- [`deploy`](#devnet-deploy): (ALPHA Warning) This command is currently in experimental mode. + +The node devnet deploy command deploys a subnet into a devnet cluster, creating subnet and blockchain txs for it. +It saves the deploy info both locally and remotely. +- [`wiz`](#devnet-wiz): (ALPHA Warning) This command is currently in experimental mode. + +The node wiz command creates a devnet and deploys, sync and validate a subnet into it. It creates the subnet if so needed. + +#### devnet deploy - (ALPHA Warning) This command is currently in experimental mode. - -The `node ssh` command execute a given command using ssh on all nodes in the cluster. If no command is given, just prints the ssh command line to be used to connect to each node. +The node devnet deploy command deploys a subnet into a devnet cluster, creating subnet and blockchain txs for it. +It saves the deploy info both locally and remotely. -**Usage**: +**Usage:** `avalanche node devnet deploy [subcommand] [flags]` -```bash -avalanche node ssh [clusterName] [flags] -``` +**Flags:** -**Flags**: +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for deploy | +| `--no-checks` | do not check for healthy status or rpc compatibility of nodes against subnet | +| `--subnet-aliases` | strings additional subnet aliases to be used for RPC calls in addition to subnet blockchain name | +| `--subnet-only` | only create a subnet | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -```bash --h, --help help for status -``` +#### devnet wiz -### Status +(ALPHA Warning) This command is currently in experimental mode. + +The node wiz command creates a devnet and deploys, sync and validate a subnet into it. It creates the subnet if so needed. + +**Usage:** `avalanche node devnet wiz [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--add-grafana-dashboard` | string path to additional grafana dashboard json file | +| `--alternative-key-pair-name` | string key pair name to use if default one generates conflicts | +| `--authorize-access` | authorize CLI to create cloud resources | +| `--auto-replace-keypair` | automatically replaces key pair to access node if previous key pair is not found | +| `--aws` | create node/s in AWS cloud | +| `--aws-profile` | string aws profile to use (default "default") | +| `--aws-volume-iops` | int AWS iops (for gp3, io1, and io2 volume types only) (default 3000) | +| `--aws-volume-size` | int AWS volume size in GB (default 1000) | +| `--aws-volume-throughput` | int AWS throughput in MiB/s (for gp3 volume type only) (default 125) | +| `--aws-volume-type` | string AWS volume type (default "gp3") | +| `--chain-config` | string path to the chain configuration for subnet | +| `--custom-avalanchego-version` | string install given avalanchego version on node/s | +| `--custom-subnet` | use a custom VM as the subnet virtual machine | +| `--custom-vm-branch` | string custom vm branch or commit | +| `--custom-vm-build-script` | string custom vm build-script | +| `--custom-vm-repo-url` | string custom vm repository url | +| `--default-validator-params` | use default weight/start/duration params for subnet validator | +| `--deploy-teleporter-messenger` | deploy Interchain Messenger (default true) | +| `--deploy-teleporter-registry` | deploy Interchain Registry (default true) | +| `--enable-monitoring` | set up Prometheus monitoring for created nodes. Please note that this option creates a separate monitoring instance and incures additional cost | +| `--evm-chain-id` | uint chain ID to use with Subnet-EVM | +| `--evm-defaults` | use default production settings with Subnet-EVM | +| `--evm-production-defaults` | use default production settings for your blockchain | +| `--evm-subnet` | use Subnet-EVM as the subnet virtual machine | +| `--evm-test-defaults` | use default test settings for your blockchain | +| `--evm-token` | string token name to use with Subnet-EVM | +| `--evm-version` | string version of Subnet-EVM to use | +| `--force-subnet-create` | overwrite the existing subnet configuration if one exists | +| `--gcp` | create node/s in GCP cloud | +| `--gcp-credentials` | string use given GCP credentials | +| `--gcp-project` | string use given GCP project | +| `--grafana-pkg` | string use grafana pkg instead of apt repo(by default), for example https://dl.grafana.com/oss/release/grafana_10.4.1_amd64.deb | +| `-h, --help` | help for wiz | +| `--latest-avalanchego-pre-release-version` | install latest avalanchego pre-release version on node/s | +| `--latest-avalanchego-version` | install latest avalanchego release version on node/s | +| `--latest-evm-version` | use latest Subnet-EVM released version | +| `--latest-pre-released-evm-version` | use latest Subnet-EVM pre-released version | +| `--node-config` | string path to avalanchego node configuration for subnet | +| `--node-type` | string cloud instance type. Use 'default' to use recommended default instance type | +| `--num-apis` | ints number of API nodes(nodes without stake) to create in the new Devnet | +| `--num-validators` | ints number of nodes to create per region(s). Use comma to separate multiple numbers for each region in the same order as --region flag | +| `--public-http-port` | allow public access to avalanchego HTTP port | +| `--region` | strings create node/s in given region(s). Use comma to separate multiple regions | +| `--relayer` | run AWM relayer when deploying the vm | +| `--ssh-agent-identity` | string use given ssh identity(only for ssh agent). If not set, default will be used. | +| `--subnet-aliases` | strings additional subnet aliases to be used for RPC calls in addition to subnet blockchain name | +| `--subnet-config` | string path to the subnet configuration for subnet | +| `--subnet-genesis` | string file path of the subnet genesis | +| `--teleporter` | generate a teleporter-ready vm | +| `--teleporter-messenger-contract-address-path` | string path to a teleporter messenger contract address file | +| `--teleporter-messenger-deployer-address-path` | string path to a teleporter messenger deployer address file | +| `--teleporter-messenger-deployer-tx-path` | string path to a teleporter messenger deployer tx file | +| `--teleporter-registry-bytecode-path` | string path to a teleporter registry bytecode file | +| `--teleporter-version` | string teleporter version to deploy (default "latest") | +| `--use-ssh-agent` | use ssh agent for ssh | +| `--use-static-ip` | attach static Public IP on cloud servers (default true) | +| `--validators` | strings deploy subnet into given comma separated list of validators. defaults to all cluster nodes | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### export - (ALPHA Warning) This command is currently in experimental mode. - -The `node status` command gets the bootstrap status of all nodes in a cluster with the Primary Network. If no cluster is given, defaults to node list behaviour. +The node export command exports cluster configuration and its nodes config to a text file. + +If no file is specified, the configuration is printed to the stdout. -To get the bootstrap status of a node with an Avalanche L1, use the `--subnet` flag. +Use --include-secrets to include keys in the export. In this case please keep the file secure as it contains sensitive information. -**Usage**: +Exported cluster configuration without secrets can be imported by another user using node import command. -```bash -avalanche node status [clusterName] [flags] -``` +**Usage:** `avalanche node export [subcommand] [flags]` -**Flags**: +**Flags:** -```bash --h, --help help for status - --subnet string specify the subnet the node is syncing with -``` +| Flag | Description | +| ---- | ----------- | +| `--file` | string specify the file to export the cluster configuration to | +| `--force` | overwrite the file if it exists | +| `-h, --help` | help for export | +| `--include-secrets` | include keys in the export | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -### Stop +### import - (ALPHA Warning) This command is currently in experimental mode. - -The `node stop` command stops a running node in cloud server +The node import command imports cluster configuration and its nodes configuration from a text file +created from the node export command. -Note that a stopped node may still incur cloud server storage fees. +Prior to calling this command, call node whitelist command to have your SSH public key and IP whitelisted by +the cluster owner. This will enable you to use avalanche-cli commands to manage the imported cluster. -**Usage**: +Please note, that this imported cluster will be considered as EXTERNAL by avalanche-cli, so some commands +affecting cloud nodes like node create or node destroy will be not applicable to it. -```bash -avalanche node stop [clusterName] [flags] -``` +**Usage:** `avalanche node import [subcommand] [flags]` -**Flags**: +**Flags:** -```bash - --authorize-access authorize CLI to release cloud resources - --authorize-remove authorize CLI to remove all local files related to cloud nodes --h, --help help for stop -``` +| Flag | Description | +| ---- | ----------- | +| `--file` | string specify the file to export the cluster configuration to | +| `-h, --help` | help for import | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -### Sync +### list - (ALPHA Warning) This command is currently in experimental mode. - -The `node sync` command enables all nodes in a cluster to be bootstrapped to an Avalanche L1. You can check the Avalanche L1 bootstrap status by calling avalanche `node status --subnet ` +The node list command lists all clusters together with their nodes. + +**Usage:** `avalanche node list [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for list | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### loadtest + +(ALPHA Warning) This command is currently in experimental mode. + +The node loadtest command suite starts and stops a load test for an existing devnet cluster. + +**Usage:** `avalanche node loadtest [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for loadtest | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +**Subcommands:** + +- [`start`](#loadtest-start): (ALPHA Warning) This command is currently in experimental mode. + +The node loadtest command starts load testing for an existing devnet cluster. If the cluster does +not have an existing load test host, the command creates a separate cloud server and builds the load +test binary based on the provided load test Git Repo URL and load test binary build command. + +The command will then run the load test binary based on the provided load test run command. +- [`stop`](#loadtest-stop): (ALPHA Warning) This command is currently in experimental mode. -**Usage**: +The node loadtest stop command stops load testing for an existing devnet cluster and terminates the +separate cloud server created to host the load test. -```bash -avalanche node sync [clusterName] [blockchainName] [flags] -``` +#### loadtest start -### Update +(ALPHA Warning) This command is currently in experimental mode. + +The node loadtest command starts load testing for an existing devnet cluster. If the cluster does +not have an existing load test host, the command creates a separate cloud server and builds the load +test binary based on the provided load test Git Repo URL and load test binary build command. + +The command will then run the load test binary based on the provided load test run command. + +**Usage:** `avalanche node loadtest start [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--authorize-access` | authorize CLI to create cloud resources | +| `--aws` | create loadtest node in AWS cloud | +| `--aws-profile` | string aws profile to use (default "default") | +| `--gcp` | create loadtest in GCP cloud | +| `-h, --help` | help for start | +| `--load-test-branch` | string load test branch or commit | +| `--load-test-build-cmd` | string command to build load test binary | +| `--load-test-cmd` | string command to run load test | +| `--load-test-repo` | string load test repo url to use | +| `--node-type` | string cloud instance type for loadtest script | +| `--region` | string create load test node in a given region | +| `--ssh-agent-identity` | string use given ssh identity(only for ssh agent). If not set, default will be used | +| `--use-ssh-agent` | use ssh agent(ex: Yubikey) for ssh auth | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +#### loadtest stop + +(ALPHA Warning) This command is currently in experimental mode. + +The node loadtest stop command stops load testing for an existing devnet cluster and terminates the +separate cloud server created to host the load test. + +**Usage:** `avalanche node loadtest stop [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for stop | +| `--load-test` | strings stop specified load test node(s). Use comma to separate multiple load test instance names | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### refresh-ips - (ALPHA Warning) This command is currently in experimental mode. - -The `node update` command suite provides a collection of commands for nodes to update their AvalancheGo version or VM version/config. You can check the status after update by running `avalanche node status` +The node refresh-ips command obtains the current IP for all nodes with dynamic IPs in the cluster, +and updates the local node information used by CLI commands. + +**Usage:** `avalanche node refresh-ips [subcommand] [flags]` + +**Flags:** -### Update Subnet +| Flag | Description | +| ---- | ----------- | +| `--aws-profile` | string aws profile to use (default "default") | +| `-h, --help` | help for refresh-ips | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### resize - (ALPHA Warning) This command is currently in experimental mode. - -The `node update subnet` command updates all nodes in a cluster with latest Avalanche L1 configuration and You can check the updated Avalanche L1 bootstrap status by calling avalanche `node status --subnet ` +The node resize command can change the amount of CPU, memory and disk space available for the cluster nodes. + +**Usage:** `avalanche node resize [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--aws-profile` | string aws profile to use (default "default") | +| `--disk-size` | string Disk size to resize in Gb (e.g. 1000Gb) | +| `-h, --help` | help for resize | +| `--node-type` | string Node type to resize (e.g. t3.2xlarge) | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### scp + +(ALPHA Warning) This command is currently in experimental mode. -**Usage**: +The node scp command securely copies files to and from nodes. Remote source or destionation can be specified using the following format: +[clusterName|nodeID|instanceID|IP]:/path/to/file. Regular expressions are supported for the source files like /tmp/*.txt. +File transfer to the nodes are parallelized. IF source or destination is cluster, the other should be a local file path. +If both destinations are remote, they must be nodes for the same cluster and not clusters themselves. +For example: +$ avalanche node scp [cluster1|node1]:/tmp/file.txt /tmp/file.txt +$ avalanche node scp /tmp/file.txt [cluster1|NodeID-XXXX]:/tmp/file.txt +$ avalanche node scp node1:/tmp/file.txt NodeID-XXXX:/tmp/file.txt -```bash -avalanche node update subnet [clusterName] [blockchainName] [flags] -``` +**Usage:** `avalanche node scp [subcommand] [flags]` -**Flags**: +**Flags:** -```bash --h, --help help for subnet -``` +| Flag | Description | +| ---- | ----------- | +| `--compress` | use compression for ssh | +| `-h, --help` | help for scp | +| `--recursive` | copy directories recursively | +| `--with-loadtest` | include loadtest node for scp cluster operations | +| `--with-monitor` | include monitoring node for scp cluster operations | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -### Validate +### ssh - (ALPHA Warning) This command is currently in experimental mode. - -The `node validate` command suite provides a collection of commands for nodes to join the Primary Network and Avalanche L1s as validators. If any of the commands is run before the nodes are bootstrapped on the Primary Network, the command will fail. +The node ssh command execute a given command [cmd] using ssh on all nodes in the cluster if ClusterName is given. +If no command is given, just prints the ssh command to be used to connect to each node in the cluster. +For provided NodeID or InstanceID or IP, the command [cmd] will be executed on that node. +If no [cmd] is provided for the node, it will open ssh shell there. -You can check the bootstrap status by running `avalanche node status `. +**Usage:** `avalanche node ssh [subcommand] [flags]` -### Validate Primary +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for ssh | +| `--parallel` | run ssh command on all nodes in parallel | +| `--with-loadtest` | include loadtest node for ssh cluster operations | +| `--with-monitor` | include monitoring node for ssh cluster operations | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### status - (ALPHA Warning) This command is currently in experimental mode. - -The `node validate primary` command enables all nodes in a cluster to be validators of Primary Network. +The node status command gets the bootstrap status of all nodes in a cluster with the Primary Network. +If no cluster is given, defaults to node list behaviour. -**Usage**: +To get the bootstrap status of a node with a Blockchain, use --blockchain flag -```bash -avalanche node validate primary [clusterName] [flags] -``` +**Usage:** `avalanche node status [subcommand] [flags]` -**Flags**: +**Flags:** -```bash --f, --fuji testnet set up validator in fuji (alias to testnet --h, --help help for primary --k, --key string select the key to use [fuji only] --g, --ledger use ledger instead of key (always true on mainnet, defaults to false on fuji) - --ledger-addrs strings use the given ledger addresses --m, --mainnet set up validator in mainnet - --stake-amount uint how many AVAX to stake in the validator - --staking-period duration how long validator validates for after start time --t, --testnet fuji set up validator in testnet (alias to fuji) -``` +| Flag | Description | +| ---- | ----------- | +| `--blockchain` | string specify the blockchain the node is syncing with | +| `-h, --help` | help for status | +| `--subnet` | string specify the blockchain the node is syncing with | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -### Validate Subnet +### sync - (ALPHA Warning) This command is currently in experimental mode. - - -The `node validate subnet` command enables all nodes in a cluster to be validators of an Avalanche L1. If the command is run before the nodes are Primary Network validators, the command will first make the nodes Primary Network validators before making them Avalanche L1 validators. If The command is run before the nodes are bootstrapped on the Primary Network, the command will fail. You can check the bootstrap status by calling `avalanche node status `. If The command is run before the nodes are synced to the Avalanche L1, the command will fail. You can check the Avalanche L1 sync status by calling `avalanche node status --subnet `. - -**Usage**: - -```bash -avalanche node validate subnet [clusterName] [blockchainName] [flags] -``` - -**Flags**: - -```bash - --default-validator-params use default weight/start/duration params for subnet validator --d, --devnet set up validator in devnet - --endpoint string use the given endpoint for network operations --e, --ewoq use ewoq key [fuji/devnet only] --f, --fuji testnet set up validator in fuji (alias to testnet --h, --help help for subnet --k, --key string select the key to use [fuji/devnet only] --g, --ledger use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) - --ledger-addrs strings use the given ledger addresses --m, --mainnet set up validator in mainnet - --stake-amount uint how many AVAX to stake in the validator - --staking-period duration how long validator validates for after start time - --start-time string UTC start time when this validator starts validating, in 'YYYY-MM-DD HH:MM:SS' format --t, --testnet fuji set up validator in testnet (alias to fuji) -``` - -### Whitelist - - + +The node sync command enables all nodes in a cluster to be bootstrapped to a Blockchain. +You can check the blockchain bootstrap status by calling avalanche node status `clusterName` --blockchain `blockchainName` + +**Usage:** `avalanche node sync [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for sync | +| `--no-checks` | do not check for bootstrapped/healthy status or rpc compatibility of nodes against subnet | +| `--subnet-aliases` | strings subnet alias to be used for RPC calls. defaults to subnet blockchain ID | +| `--validators` | strings sync subnet into given comma separated list of validators. defaults to all cluster nodes | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### update + (ALPHA Warning) This command is currently in experimental mode. - -The `node whitelist` command suite provides a collection of tools for granting access to the cluster. +The node update command suite provides a collection of commands for nodes to update +their avalanchego or VM config. -Nodes created by `Avalanche-CLI` are protected by Cloud Security Group and only defined IP addresses are allowed to access. User IP is whitelisted automatically when cluster is created, but this command can be used in case of IP address changes or granting access to additional IPs. This command detects user current IP address automatically if no IP address is provided. +You can check the status after update by calling avalanche node status -Secure SSH protocol is used to communicate with cloud instances. `node whitelist` command authorizes SSH public key on all nodes in the cluster if --ssh params is specified. Please keep your SSH private keys safe and secure, only share public keys to grant shell access to cloud instances running `avalanchego`. +**Usage:** `avalanche node update [subcommand] [flags]` -**Usage**: +**Flags:** -```bash -avalanche node whitelist [--ip ] [--ssh ""] [flags] -``` +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for update | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -**Flags**: +**Subcommands:** -```bash - -h, --help help for whitelist - --ip string ip address to whitelist - --ssh string ssh public key to whitelist -``` +- [`subnet`](#update-subnet): (ALPHA Warning) This command is currently in experimental mode. -### Export +The node update subnet command updates all nodes in a cluster with latest Subnet configuration and VM for custom VM. +You can check the updated subnet bootstrap status by calling avalanche node status `clusterName` --subnet `subnetName` + +#### update subnet - (ALPHA Warning) This command is currently in experimental mode. - -The `node export` command exports cluster configuration including their nodes to a text file. If no file is specified, the configuration is printed to the stdout. Use `--include-secrets` to include keys in the export. In this case this command can be used to backup your cluster configuration. Please keep the file secure as it contains sensitive information. +The node update subnet command updates all nodes in a cluster with latest Subnet configuration and VM for custom VM. +You can check the updated subnet bootstrap status by calling avalanche node status `clusterName` --subnet `subnetName` + +**Usage:** `avalanche node update subnet [subcommand] [flags]` -Exported cluster configuration without secrets it can be imported by another user using `node import` command. +**Flags:** -**Usage**: +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for subnet | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -```bash -avalanche node export [clusterName] [flags] -``` +### upgrade -**Flags**: +(ALPHA Warning) This command is currently in experimental mode. + +The node update command suite provides a collection of commands for nodes to update +their avalanchego or VM version. + +You can check the status after upgrade by calling avalanche node status + +**Usage:** `avalanche node upgrade [subcommand] [flags]` + +**Flags:** -```bash - --file string specify the file to export the cluster configuration to - --force overwrite the file if it exists - -h, --help help for export - --include-secrets include keys in the export -``` +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for upgrade | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -### Import +### validate - (ALPHA Warning) This command is currently in experimental mode. - -The `node import` command imports cluster configuration and cluster nodes from a text file. This file should be created using the `node export` command. +The node validate command suite provides a collection of commands for nodes to join +the Primary Network and Subnets as validators. +If any of the commands is run before the nodes are bootstrapped on the Primary Network, the command +will fail. You can check the bootstrap status by calling avalanche node status `clusterName` -This command is useful with `node whitelist` command. With your SSH public key and IP whitelisted by cluster owner you will be able to execute commands and use `avalanche-cli` to manage this cluster. Please note, that this imported cluster will be considered as EXTERNAL by `avalanche-cli` so some commands affecting cloud nodes like `node create` or `node destroy` will be not applicable for it. +**Usage:** `avalanche node validate [subcommand] [flags]` -**Usage**: +**Flags:** -```bash -avalanche node import [clusterName] [flags] -``` +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for validate | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -**Flags**: +**Subcommands:** -```bash - --file string specify the file to export the cluster configuration to - -h, --help help for import -``` +- [`primary`](#validate-primary): (ALPHA Warning) This command is currently in experimental mode. -### Resize +The node validate primary command enables all nodes in a cluster to be validators of Primary +Network. +- [`subnet`](#validate-subnet): (ALPHA Warning) This command is currently in experimental mode. + +The node validate subnet command enables all nodes in a cluster to be validators of a Subnet. +If the command is run before the nodes are Primary Network validators, the command will first +make the nodes Primary Network validators before making them Subnet validators. +If The command is run before the nodes are bootstrapped on the Primary Network, the command will fail. +You can check the bootstrap status by calling avalanche node status `clusterName` +If The command is run before the nodes are synced to the subnet, the command will fail. +You can check the subnet sync status by calling avalanche node status `clusterName` --subnet `subnetName` + +#### validate primary - (ALPHA Warning) This command is currently in experimental mode. - -The `node resize` command can be used to resize cluster instance size and/or size of the cloud persistent storage attached to the instance. In another words, it can change amount of CPU, memory and disk space available for the cluster nodes. +The node validate primary command enables all nodes in a cluster to be validators of Primary +Network. + +**Usage:** `avalanche node validate primary [subcommand] [flags]` -Please note that disk resize operation can affect disk performance during cloud operation to resize it. Please note that instance resize operation will replace cluster instances one by one, which might affect cluster stability. +**Flags:** -**Usage**: +| Flag | Description | +| ---- | ----------- | +| `-e, --ewoq` | use ewoq key [fuji/devnet only] | +| `-h, --help` | help for primary | +| `-k, --key` | string select the key to use [fuji only] | +| `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) | +| `--ledger-addrs` | strings use the given ledger addresses | +| `--stake-amount` | uint how many AVAX to stake in the validator | +| `--staking-period` | duration how long validator validates for after start time | +| `--start-time` | string UTC start time when this validator starts validating, in 'YYYY-MM-DD HH:MM:SS' format | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -```bash -avalanche node resize [clusterName] [flags] -``` +#### validate subnet + +(ALPHA Warning) This command is currently in experimental mode. -**Flags**: +The node validate subnet command enables all nodes in a cluster to be validators of a Subnet. +If the command is run before the nodes are Primary Network validators, the command will first +make the nodes Primary Network validators before making them Subnet validators. +If The command is run before the nodes are bootstrapped on the Primary Network, the command will fail. +You can check the bootstrap status by calling avalanche node status `clusterName` +If The command is run before the nodes are synced to the subnet, the command will fail. +You can check the subnet sync status by calling avalanche node status `clusterName` --subnet `subnetName` + +**Usage:** `avalanche node validate subnet [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--default-validator-params` | use default weight/start/duration params for subnet validator | +| `-e, --ewoq` | use ewoq key [fuji/devnet only] | +| `-h, --help` | help for subnet | +| `-k, --key` | string select the key to use [fuji/devnet only] | +| `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) | +| `--ledger-addrs` | strings use the given ledger addresses | +| `--no-checks` | do not check for bootstrapped status or healthy status | +| `--no-validation-checks` | do not check if subnet is already synced or validated (default true) | +| `--stake-amount` | uint how many AVAX to stake in the validator | +| `--staking-period` | duration how long validator validates for after start time | +| `--start-time` | string UTC start time when this validator starts validating, in 'YYYY-MM-DD HH:MM:SS' format | +| `--validators` | strings validate subnet for the given comma separated list of validators. defaults to all cluster nodes | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### whitelist + +(ALPHA Warning) The whitelist command suite provides a collection of tools for granting access to the cluster. + + Command adds IP if --ip params provided to cloud security access rules allowing it to access all nodes in the cluster via ssh or http. + It also command adds SSH public key to all nodes in the cluster if --ssh params is there. + If no params provided it detects current user IP automaticaly and whitelists it + +**Usage:** `avalanche node whitelist [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `-y, --current-ip` | whitelist current host ip | +| `-h, --help` | help for whitelist | +| `--ip` | string ip address to whitelist | +| `--ssh` | string ssh public key to whitelist | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +## avalanche primary + +The primary command suite provides a collection of tools for interacting with the +Primary Network + +**Usage:** `avalanche primary [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for primary | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +**Subcommands:** + +- [`addValidator`](#primary-addvalidator): The primary addValidator command adds a node as a validator +in the Primary Network +- [`describe`](#primary-describe): The subnet describe command prints details of the primary network configuration to the console. + +### addValidator + +The primary addValidator command adds a node as a validator +in the Primary Network + +**Usage:** `avalanche primary addValidator [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--cluster` | string operate on the given cluster | +| `--delegation-fee` | uint32 set the delegation fee (20 000 is equivalent to 2%) | +| `--devnet` | operate on a devnet network | +| `--endpoint` | string use the given endpoint for network operations | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `-h, --help` | help for addValidator | +| `-k, --key` | string select the key to use [fuji only] | +| `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji) | +| `--ledger-addrs` | strings use the given ledger addresses | +| `-m, --mainnet` | operate on mainnet | +| `--nodeID` | string set the NodeID of the validator to add | +| `--proof-of-possession` | string set the BLS proof of possession of the validator to add | +| `--public-key` | string set the BLS public key of the validator to add | +| `--staking-period` | duration how long this validator will be staking | +| `--start-time` | string UTC start time when this validator starts validating, in 'YYYY-MM-DD HH:MM:SS' format | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--weight` | uint set the staking weight of the validator to add | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### describe + +The subnet describe command prints details of the primary network configuration to the console. + +**Usage:** `avalanche primary describe [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--cluster` | string operate on the given cluster | +| `-h, --help` | help for describe | +| `-l, --local` | operate on a local network | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +## avalanche subnet + +The subnet command suite provides a collection of tools for developing +and deploying Blockchains. + +To get started, use the subnet create command wizard to walk through the +configuration of your very first Blockchain. Then, go ahead and deploy it +with the subnet deploy command. You can use the rest of the commands to +manage your Blockchain configurations and live deployments. + +Deprecation notice: use 'avalanche blockchain' + +**Usage:** `avalanche subnet [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for subnet | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +**Subcommands:** + +- [`addValidator`](#subnet-addvalidator): The blockchain addValidator command whitelists a primary network validator to +validate the subnet of the provided deployed Blockchain. + +To add the validator to the Subnet's allow list, you first need to provide +the blockchainName and the validator's unique NodeID. The command then prompts +for the validation start time, duration, and stake weight. You can bypass +these prompts by providing the values with flags. + +This command currently only works on Blockchains deployed to either the Fuji +Testnet or Mainnet. +- [`changeOwner`](#subnet-changeowner): The blockchain changeOwner changes the owner of the subnet of the deployed Blockchain. +- [`configure`](#subnet-configure): AvalancheGo nodes support several different configuration files. Subnets have their own +Subnet config which applies to all chains/VMs in the Subnet. Each chain within the Subnet +can have its own chain config. A chain can also have special requirements for the AvalancheGo node +configuration itself. This command allows you to set all those files. +- [`create`](#subnet-create): The blockchain create command builds a new genesis file to configure your Blockchain. +By default, the command runs an interactive wizard. It walks you through +all the steps you need to create your first Blockchain. + +The tool supports deploying Subnet-EVM, and custom VMs. You +can create a custom, user-generated genesis with a custom VM by providing +the path to your genesis and VM binaries with the --genesis and --vm flags. + +By default, running the command with a blockchainName that already exists +causes the command to fail. If you'd like to overwrite an existing +configuration, pass the -f flag. +- [`delete`](#subnet-delete): The blockchain delete command deletes an existing blockchain configuration. +- [`deploy`](#subnet-deploy): The blockchain deploy command deploys your Blockchain configuration locally, to Fuji Testnet, or to Mainnet. + +At the end of the call, the command prints the RPC URL you can use to interact with the Subnet. + +Avalanche-CLI only supports deploying an individual Blockchain once per network. Subsequent +attempts to deploy the same Blockchain to the same network (local, Fuji, Mainnet) aren't +allowed. If you'd like to redeploy a Blockchain locally for testing, you must first call +avalanche network clean to reset all deployed chain state. Subsequent local deploys +redeploy the chain with fresh state. You can deploy the same Blockchain to multiple networks, +so you can take your locally tested Subnet and deploy it on Fuji or Mainnet. +- [`describe`](#subnet-describe): The blockchain describe command prints the details of a Blockchain configuration to the console. +By default, the command prints a summary of the configuration. By providing the --genesis +flag, the command instead prints out the raw genesis file. +- [`export`](#subnet-export): The blockchain export command write the details of an existing Blockchain deploy to a file. + +The command prompts for an output path. You can also provide one with +the --output flag. +- [`import`](#subnet-import): Import blockchain configurations into avalanche-cli. + +This command suite supports importing from a file created on another computer, +or importing from blockchains running public networks +(e.g. created manually or with the deprecated subnet-cli) +- [`join`](#subnet-join): The subnet join command configures your validator node to begin validating a new Blockchain. + +To complete this process, you must have access to the machine running your validator. If the +CLI is running on the same machine as your validator, it can generate or update your node's +config file automatically. Alternatively, the command can print the necessary instructions +to update your node manually. To complete the validation process, the Subnet's admins must add +the NodeID of your validator to the Subnet's allow list by calling addValidator with your +NodeID. + +After you update your validator's config, you need to restart your validator manually. If +you provide the --avalanchego-config flag, this command attempts to edit the config file +at that path. + +This command currently only supports Blockchains deployed on the Fuji Testnet and Mainnet. +- [`list`](#subnet-list): The blockchain list command prints the names of all created Blockchain configurations. Without any flags, +it prints some general, static information about the Blockchain. With the --deployed flag, the command +shows additional information including the VMID, BlockchainID and SubnetID. +- [`publish`](#subnet-publish): The blockchain publish command publishes the Blockchain's VM to a repository. +- [`removeValidator`](#subnet-removevalidator): The blockchain removeValidator command stops a whitelisted, subnet network validator from +validating your deployed Blockchain. + +To remove the validator from the Subnet's allow list, provide the validator's unique NodeID. You can bypass +these prompts by providing the values with flags. +- [`stats`](#subnet-stats): The blockchain stats command prints validator statistics for the given Blockchain. +- [`upgrade`](#subnet-upgrade): The blockchain upgrade command suite provides a collection of tools for +updating your developmental and deployed Blockchains. +- [`validators`](#subnet-validators): The blockchain validators command lists the validators of a blockchain's subnet and provides +several statistics about them. +- [`vmid`](#subnet-vmid): The blockchain vmid command prints the virtual machine ID (VMID) for the given Blockchain. + +### addValidator + +The blockchain addValidator command whitelists a primary network validator to +validate the subnet of the provided deployed Blockchain. + +To add the validator to the Subnet's allow list, you first need to provide +the blockchainName and the validator's unique NodeID. The command then prompts +for the validation start time, duration, and stake weight. You can bypass +these prompts by providing the values with flags. + +This command currently only works on Blockchains deployed to either the Fuji +Testnet or Mainnet. + +**Usage:** `avalanche subnet addValidator [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--cluster` | string operate on the given cluster | +| `--default-duration` | set duration so as to validate until primary validator ends its period | +| `--default-start-time` | use default start time for subnet validator (5 minutes later for fuji & mainnet, 30 seconds later for devnet) | +| `--default-validator-params` | use default weight/start/duration params for subnet validator | +| `--devnet` | operate on a devnet network | +| `--endpoint` | string use the given endpoint for network operations | +| `-e, --ewoq` | use ewoq key [fuji/devnet only] | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `-h, --help` | help for addValidator | +| `-k, --key` | string select the key to use [fuji/devnet only] | +| `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) | +| `--ledger-addrs` | strings use the given ledger addresses | +| `-l, --local` | operate on a local network | +| `-m, --mainnet` | operate on mainnet | +| `--nodeID` | string set the NodeID of the validator to add | +| `--output-tx-path` | string file path of the add validator tx | +| `--staking-period` | duration how long this validator will be staking | +| `--start-time` | string UTC start time when this validator starts validating, in 'YYYY-MM-DD HH:MM:SS' format | +| `--subnet-auth-keys` | strings control keys that will be used to authenticate add validator tx | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--wait-for-tx-acceptance` | just issue the add validator tx, without waiting for its acceptance (default true) | +| `--weight` | uint set the staking weight of the validator to add | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### changeOwner + +The blockchain changeOwner changes the owner of the subnet of the deployed Blockchain. + +**Usage:** `avalanche subnet changeOwner [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--cluster` | string operate on the given cluster | +| `--control-keys` | strings addresses that may make subnet changes | +| `--devnet` | operate on a devnet network | +| `--endpoint` | string use the given endpoint for network operations | +| `-e, --ewoq` | use ewoq key [fuji/devnet] | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `-h, --help` | help for changeOwner | +| `-k, --key` | string select the key to use [fuji/devnet] | +| `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) | +| `--ledger-addrs` | strings use the given ledger addresses | +| `-l, --local` | operate on a local network | +| `-m, --mainnet` | operate on mainnet | +| `--output-tx-path` | string file path of the transfer subnet ownership tx | +| `-s, --same-control-key` | use the fee-paying key as control key | +| `--subnet-auth-keys` | strings control keys that will be used to authenticate transfer subnet ownership tx | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--threshold` | uint32 required number of control key signatures to make subnet changes | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### configure + +AvalancheGo nodes support several different configuration files. Subnets have their own +Subnet config which applies to all chains/VMs in the Subnet. Each chain within the Subnet +can have its own chain config. A chain can also have special requirements for the AvalancheGo node +configuration itself. This command allows you to set all those files. + +**Usage:** `avalanche subnet configure [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--chain-config` | string path to the chain configuration | +| `-h, --help` | help for configure | +| `--node-config` | string path to avalanchego node configuration | +| `--per-node-chain-config` | string path to per node chain configuration for local network | +| `--subnet-config` | string path to the subnet configuration | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### create + +The blockchain create command builds a new genesis file to configure your Blockchain. +By default, the command runs an interactive wizard. It walks you through +all the steps you need to create your first Blockchain. + +The tool supports deploying Subnet-EVM, and custom VMs. You +can create a custom, user-generated genesis with a custom VM by providing +the path to your genesis and VM binaries with the --genesis and --vm flags. + +By default, running the command with a blockchainName that already exists +causes the command to fail. If you'd like to overwrite an existing +configuration, pass the -f flag. + +**Usage:** `avalanche subnet create [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--custom` | use a custom VM template | +| `--custom-vm-branch` | string custom vm branch or commit | +| `--custom-vm-build-script` | string custom vm build-script | +| `--custom-vm-path` | string file path of custom vm to use | +| `--custom-vm-repo-url` | string custom vm repository url | +| `--debug` | enable blockchain debugging | +| `--evm` | use the Subnet-EVM as the base template | +| `--evm-chain-id` | uint chain ID to use with Subnet-EVM | +| `--evm-defaults` | deprecation notice: use '--production-defaults' | +| `--evm-token` | string token symbol to use with Subnet-EVM | +| `--external-gas-token` | use a gas token from another blockchain | +| `-f, --force` | overwrite the existing configuration if one exists | +| `--from-github-repo` | generate custom VM binary from github repository | +| `--genesis` | string file path of genesis to use | +| `-h, --help` | help for create | +| `--latest` | use latest Subnet-EVM released version, takes precedence over --vm-version | +| `--pre-release` | use latest Subnet-EVM pre-released version, takes precedence over --vm-version | +| `--production-defaults` | use default production settings for your blockchain | +| `--teleporter` | interoperate with other blockchains using teleporter | +| `--test-defaults` | use default test settings for your blockchain | +| `--vm` | string file path of custom vm to use. alias to custom-vm-path | +| `--vm-version` | string version of Subnet-EVM template to use | +| `--warp` | generate a vm with warp support (needed for teleporter) (default true) | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### delete + +The blockchain delete command deletes an existing blockchain configuration. + +**Usage:** `avalanche subnet delete [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for delete | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### deploy + +The blockchain deploy command deploys your Blockchain configuration locally, to Fuji Testnet, or to Mainnet. + +At the end of the call, the command prints the RPC URL you can use to interact with the Subnet. + +Avalanche-CLI only supports deploying an individual Blockchain once per network. Subsequent +attempts to deploy the same Blockchain to the same network (local, Fuji, Mainnet) aren't +allowed. If you'd like to redeploy a Blockchain locally for testing, you must first call +avalanche network clean to reset all deployed chain state. Subsequent local deploys +redeploy the chain with fresh state. You can deploy the same Blockchain to multiple networks, +so you can take your locally tested Subnet and deploy it on Fuji or Mainnet. + +**Usage:** `avalanche subnet deploy [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--avalanchego-path` | string use this avalanchego binary path | +| `--avalanchego-version` | string use this version of avalanchego (ex: v1.17.12) (default "latest") | +| `--cluster` | string operate on the given cluster | +| `--control-keys` | strings addresses that may make subnet changes | +| `--devnet` | operate on a devnet network | +| `--endpoint` | string use the given endpoint for network operations | +| `-e, --ewoq` | use ewoq key [fuji/devnet deploy only] | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `-h, --help` | help for deploy | +| `-k, --key` | string select the key to use [fuji/devnet deploy only] | +| `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) | +| `--ledger-addrs` | strings use the given ledger addresses | +| `-l, --local` | operate on a local network | +| `-m, --mainnet` | operate on mainnet | +| `--mainnet-chain-id` | uint32 use different ChainID for mainnet deployment | +| `--output-tx-path` | string file path of the blockchain creation tx | +| `-s, --same-control-key` | use the fee-paying key as control key | +| `--skip-local-teleporter` | skip automatic teleporter deploy on local networks [to be deprecated] | +| `--skip-relayer` | skip relayer deploy | +| `--skip-teleporter-deploy` | skip automatic teleporter deploy | +| `--subnet-auth-keys` | strings control keys that will be used to authenticate chain creation | +| `-u, --subnet-id` | string do not create a subnet, deploy the blockchain into the given subnet id | +| `--subnet-only` | only create a subnet | +| `--teleporter-messenger-contract-address-path` | string path to an interchain messenger contract address file | +| `--teleporter-messenger-deployer-address-path` | string path to an interchain messenger deployer address file | +| `--teleporter-messenger-deployer-tx-path` | string path to an interchain messenger deployer tx file | +| `--teleporter-registry-bytecode-path` | string path to an interchain messenger registry bytecode file | +| `--teleporter-version` | string teleporter version to deploy (default "latest") | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--threshold` | uint32 required number of control key signatures to make subnet changes | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### describe + +The blockchain describe command prints the details of a Blockchain configuration to the console. +By default, the command prints a summary of the configuration. By providing the --genesis +flag, the command instead prints out the raw genesis file. + +**Usage:** `avalanche subnet describe [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `-g, --genesis` | Print the genesis to the console directly instead of the summary | +| `-h, --help` | help for describe | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### export + +The blockchain export command write the details of an existing Blockchain deploy to a file. + +The command prompts for an output path. You can also provide one with +the --output flag. + +**Usage:** `avalanche subnet export [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--custom-vm-branch` | string custom vm branch | +| `--custom-vm-build-script` | string custom vm build-script | +| `--custom-vm-repo-url` | string custom vm repository url | +| `-h, --help` | help for export | +| `-o, --output` | string write the export data to the provided file path | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### import + +Import blockchain configurations into avalanche-cli. + +This command suite supports importing from a file created on another computer, +or importing from blockchains running public networks +(e.g. created manually or with the deprecated subnet-cli) + +**Usage:** `avalanche subnet import [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for import | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +**Subcommands:** + +- [`file`](#import-file): The blockchain import command will import a blockchain configuration from a file or a git repository. + +To import from a file, you can optionally provide the path as a command-line argument. +Alternatively, running the command without any arguments triggers an interactive wizard. +To import from a repository, go through the wizard. By default, an imported Blockchain doesn't +overwrite an existing Blockchain with the same name. To allow overwrites, provide the --force +flag. +- [`public`](#import-public): The blockchain import public command imports a Blockchain configuration from a running network. + +By default, an imported Blockchain +doesn't overwrite an existing Blockchain with the same name. To allow overwrites, provide the --force +flag. + +#### import file + +The blockchain import command will import a blockchain configuration from a file or a git repository. + +To import from a file, you can optionally provide the path as a command-line argument. +Alternatively, running the command without any arguments triggers an interactive wizard. +To import from a repository, go through the wizard. By default, an imported Blockchain doesn't +overwrite an existing Blockchain with the same name. To allow overwrites, provide the --force +flag. + +**Usage:** `avalanche subnet import file [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--branch` | string the repo branch to use if downloading a new repo | +| `-f, --force` | overwrite the existing configuration if one exists | +| `-h, --help` | help for file | +| `--repo` | string the repo to import (ex: ava-labs/avalanche-plugins-core) or url to download the repo from | +| `--subnet` | string the subnet configuration to import from the provided repo | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +#### import public + +The blockchain import public command imports a Blockchain configuration from a running network. + +By default, an imported Blockchain +doesn't overwrite an existing Blockchain with the same name. To allow overwrites, provide the --force +flag. + +**Usage:** `avalanche subnet import public [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--blockchain-id` | string the blockchain ID | +| `--cluster` | string operate on the given cluster | +| `--custom` | use a custom VM template | +| `--devnet` | operate on a devnet network | +| `--endpoint` | string use the given endpoint for network operations | +| `--evm` | import a subnet-evm | +| `--force` | overwrite the existing configuration if one exists | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `-h, --help` | help for public | +| `-l, --local` | operate on a local network | +| `-m, --mainnet` | operate on mainnet | +| `--node-url` | string [optional] URL of an already running subnet validator | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### join + +The subnet join command configures your validator node to begin validating a new Blockchain. + +To complete this process, you must have access to the machine running your validator. If the +CLI is running on the same machine as your validator, it can generate or update your node's +config file automatically. Alternatively, the command can print the necessary instructions +to update your node manually. To complete the validation process, the Subnet's admins must add +the NodeID of your validator to the Subnet's allow list by calling addValidator with your +NodeID. + +After you update your validator's config, you need to restart your validator manually. If +you provide the --avalanchego-config flag, this command attempts to edit the config file +at that path. + +This command currently only supports Blockchains deployed on the Fuji Testnet and Mainnet. + +**Usage:** `avalanche subnet join [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--avalanchego-config` | string file path of the avalanchego config file | +| `--cluster` | string operate on the given cluster | +| `--data-dir` | string path of avalanchego's data dir directory | +| `--devnet` | operate on a devnet network | +| `--endpoint` | string use the given endpoint for network operations | +| `--force-write` | if true, skip to prompt to overwrite the config file | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `-h, --help` | help for join | +| `-k, --key` | string select the key to use [fuji only] | +| `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji) | +| `--ledger-addrs` | strings use the given ledger addresses | +| `-l, --local` | operate on a local network | +| `-m, --mainnet` | operate on mainnet | +| `--nodeID` | string set the NodeID of the validator to check | +| `--plugin-dir` | string file path of avalanchego's plugin directory | +| `--print` | if true, print the manual config without prompting | +| `--stake-amount` | uint amount of tokens to stake on validator | +| `--staking-period` | duration how long validator validates for after start time | +| `--start-time` | string start time that validator starts validating | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### list + +The blockchain list command prints the names of all created Blockchain configurations. Without any flags, +it prints some general, static information about the Blockchain. With the --deployed flag, the command +shows additional information including the VMID, BlockchainID and SubnetID. + +**Usage:** `avalanche subnet list [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--deployed` | show additional deploy information | +| `-h, --help` | help for list | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### publish + +The blockchain publish command publishes the Blockchain's VM to a repository. + +**Usage:** `avalanche subnet publish [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--alias` | string We publish to a remote repo, but identify the repo locally under a user-provided alias (e.g. myrepo). | +| `--force` | If true, ignores if the subnet has been published in the past, and attempts a forced publish. | +| `-h, --help` | help for publish | +| `--no-repo-path` | string Do not let the tool manage file publishing, but have it only generate the files and put them in the location given by this flag. | +| `--repo-url` | string The URL of the repo where we are publishing | +| `--subnet-file-path` | string Path to the Subnet description file. If not given, a prompting sequence will be initiated. | +| `--vm-file-path` | string Path to the VM description file. If not given, a prompting sequence will be initiated. | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### removeValidator + +The blockchain removeValidator command stops a whitelisted, subnet network validator from +validating your deployed Blockchain. + +To remove the validator from the Subnet's allow list, provide the validator's unique NodeID. You can bypass +these prompts by providing the values with flags. + +**Usage:** `avalanche subnet removeValidator [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--cluster` | string operate on the given cluster | +| `--devnet` | operate on a devnet network | +| `--endpoint` | string use the given endpoint for network operations | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `-h, --help` | help for removeValidator | +| `-k, --key` | string select the key to use [fuji deploy only] | +| `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji) | +| `--ledger-addrs` | strings use the given ledger addresses | +| `-l, --local` | operate on a local network | +| `-m, --mainnet` | operate on mainnet | +| `--nodeID` | string set the NodeID of the validator to remove | +| `--output-tx-path` | string file path of the removeValidator tx | +| `--subnet-auth-keys` | strings control keys that will be used to authenticate the removeValidator tx | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### stats + +The blockchain stats command prints validator statistics for the given Blockchain. + +**Usage:** `avalanche subnet stats [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--cluster` | string operate on the given cluster | +| `--devnet` | operate on a devnet network | +| `--endpoint` | string use the given endpoint for network operations | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `-h, --help` | help for stats | +| `-l, --local` | operate on a local network | +| `-m, --mainnet` | operate on mainnet | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### upgrade + +The blockchain upgrade command suite provides a collection of tools for +updating your developmental and deployed Blockchains. + +**Usage:** `avalanche subnet upgrade [subcommand] [flags]` -```bash - --aws-profile string aws profile to use (default "default") - --disk-size string Disk size to resize in Gb (e.g. 1000Gb) - -h, --help help for resize - --node-type string Node type to resize (e.g. t3.2xlarge) -``` +**Flags:** -Network[​](#network "Direct link to heading") ---------------------------------------------- +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for upgrade | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +**Subcommands:** + +- [`apply`](#upgrade-apply): Apply generated upgrade bytes to running Blockchain nodes to trigger a network upgrade. + +For public networks (Fuji Testnet or Mainnet), to complete this process, +you must have access to the machine running your validator. +If the CLI is running on the same machine as your validator, it can manipulate your node's +configuration automatically. Alternatively, the command can print the necessary instructions +to upgrade your node manually. -The `network` command suite provides a collection of tools for managing local Avalanche L1 deployments. +After you update your validator's configuration, you need to restart your validator manually. +If you provide the --avalanchego-chain-config-dir flag, this command attempts to write the upgrade file at that path. +Refer to https://docs.avax.network/nodes/maintain/chain-config-flags#subnet-chain-configs for related documentation. +- [`export`](#upgrade-export): Export the upgrade bytes file to a location of choice on disk +- [`generate`](#upgrade-generate): The blockchain upgrade generate command builds a new upgrade.json file to customize your Blockchain. It +guides the user through the process using an interactive wizard. +- [`import`](#upgrade-import): Import the upgrade bytes file into the local environment +- [`print`](#upgrade-print): Print the upgrade.json file content +- [`vm`](#upgrade-vm): The blockchain upgrade vm command enables the user to upgrade their Blockchain's VM binary. The command +can upgrade both local Blockchains and publicly deployed Blockchains on Fuji and Mainnet. + +The command walks the user through an interactive wizard. The user can skip the wizard by providing +command line flags. -When you deploy an Avalanche L1 locally, it runs on a local, multi-node Avalanche network. The `blockchain deploy` command starts this network in the background. This command suite allows you to shutdown, restart, and clear that network. +#### upgrade apply -This network currently supports multiple, concurrently deployed Avalanche L1s. +Apply generated upgrade bytes to running Blockchain nodes to trigger a network upgrade. -### Clean +For public networks (Fuji Testnet or Mainnet), to complete this process, +you must have access to the machine running your validator. +If the CLI is running on the same machine as your validator, it can manipulate your node's +configuration automatically. Alternatively, the command can print the necessary instructions +to upgrade your node manually. -The `network clean` command shuts down your local, multi-node network. All deployed Avalanche L1s shutdown and delete their state. You can restart the network by deploying a new Avalanche L1 configuration. +After you update your validator's configuration, you need to restart your validator manually. +If you provide the --avalanchego-chain-config-dir flag, this command attempts to write the upgrade file at that path. +Refer to https://docs.avax.network/nodes/maintain/chain-config-flags#subnet-chain-configs for related documentation. -**Usage**: +**Usage:** `avalanche subnet upgrade apply [subcommand] [flags]` -```bash -avalanche network clean [flags] -``` +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--avalanchego-chain-config-dir` | string avalanchego's chain config file directory (default "/Users/owen.wahlgren/.avalanchego/chains") | +| `--config` | create upgrade config for future subnet deployments (same as generate) | +| `--force` | If true, don't prompt for confirmation of timestamps in the past | +| `--fuji` | fuji apply upgrade existing fuji deployment (alias for `testnet`) | +| `-h, --help` | help for apply | +| `--local` | local apply upgrade existing local deployment | +| `--mainnet` | mainnet apply upgrade existing mainnet deployment | +| `--print` | if true, print the manual config without prompting (for public networks only) | +| `--testnet` | testnet apply upgrade existing testnet deployment (alias for `fuji`) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -**Flags**: +#### upgrade export -```bash - --hard Also clean downloaded avalanchego and plugin binaries --h, --help help for clean -``` +Export the upgrade bytes file to a location of choice on disk -### Start +**Usage:** `avalanche subnet upgrade export [subcommand] [flags]` -The `network start` command starts a local, multi-node Avalanche network on your machine. +**Flags:** -By default, the command loads the default snapshot. If you provide the `--snapshot-name` flag, the network loads that snapshot instead. The command fails if the local network is already running. +| Flag | Description | +| ---- | ----------- | +| `--force` | If true, overwrite a possibly existing file without prompting | +| `-h, --help` | help for export | +| `--upgrade-filepath` | string Export upgrade bytes file to location of choice on disk | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -**Usage**: +#### upgrade generate -```bash -avalanche network start [flags] -``` +The blockchain upgrade generate command builds a new upgrade.json file to customize your Blockchain. It +guides the user through the process using an interactive wizard. -**Flags**: +**Usage:** `avalanche subnet upgrade generate [subcommand] [flags]` -```bash - --avalanchego-path string use this avalanchego binary path - --avalanchego-version string use this version of avalanchego (ex: v1.17.12) (default "latest") --h, --help help for start - --snapshot-name string name of snapshot to use to start the network from (default "default-1654102509") -``` +**Flags:** -### Status +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for generate | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -The `network status` command prints whether or not a local Avalanche network is running and some basic stats about the network. +#### upgrade import -**Usage**: +Import the upgrade bytes file into the local environment -```bash -avalanche network status [flags] -``` +**Usage:** `avalanche subnet upgrade import [subcommand] [flags]` -**Flags**: +**Flags:** -```bash --h, --help help for status -``` +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for import | +| `--upgrade-filepath` | string Import upgrade bytes file into local environment | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -### Stop +#### upgrade print -The `network stop` command shuts down your local, multi-node network. +Print the upgrade.json file content -All deployed Avalanche L1s shutdown gracefully and save their state. If you provide the `--snapshot-name` flag, the network saves its state under this named snapshot. You can reload this snapshot with `network start --snapshot-name `. Otherwise, the network saves to the default snapshot, overwriting any existing state. You can reload the default snapshot with `network start`. +**Usage:** `avalanche subnet upgrade print [subcommand] [flags]` -**Usage**: +**Flags:** -```bash -avalanche network stop [flags] -``` +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for print | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -**Flags**: +#### upgrade vm -```bash --h, --help help for stop - --snapshot-name string name of snapshot to use to save network state into (default "default-1654102509") -``` +The blockchain upgrade vm command enables the user to upgrade their Blockchain's VM binary. The command +can upgrade both local Blockchains and publicly deployed Blockchains on Fuji and Mainnet. -Transaction[​](#transaction "Direct link to heading") ------------------------------------------------------ +The command walks the user through an interactive wizard. The user can skip the wizard by providing +command line flags. -The `transaction` command suite provides all of the utilities required to sign multisig transactions. +**Usage:** `avalanche subnet upgrade vm [subcommand] [flags]` -### Commit +**Flags:** -The `transaction commit` command commits a transaction by submitting it to the P-Chain. +| Flag | Description | +| ---- | ----------- | +| `--binary` | string Upgrade to custom binary | +| `--config` | upgrade config for future subnet deployments | +| `--fuji` | fuji upgrade existing fuji deployment (alias for `testnet`) | +| `-h, --help` | help for vm | +| `--latest` | upgrade to latest version | +| `--local` | local upgrade existing local deployment | +| `--mainnet` | mainnet upgrade existing mainnet deployment | +| `--plugin-dir` | string plugin directory to automatically upgrade VM | +| `--print` | print instructions for upgrading | +| `--testnet` | testnet upgrade existing testnet deployment (alias for `fuji`) | +| `--version` | string Upgrade to custom version | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -**Usage**: +### validators -```bash -avalanche transaction commit [blockchainName] [flags] -``` +The blockchain validators command lists the validators of a blockchain's subnet and provides +several statistics about them. -**Flags**: +**Usage:** `avalanche subnet validators [subcommand] [flags]` -```bash --h, --help help for commit - --input-tx-filepath string Path to the transaction signed by all signatories -``` +**Flags:** -### Sign +| Flag | Description | +| ---- | ----------- | +| `--cluster` | string operate on the given cluster | +| `--devnet` | operate on a devnet network | +| `--endpoint` | string use the given endpoint for network operations | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `-h, --help` | help for validators | +| `-l, --local` | operate on a local network | +| `-m, --mainnet` | operate on mainnet | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -The `transaction sign` command signs a multisig transaction. +### vmid -**Usage**: +The blockchain vmid command prints the virtual machine ID (VMID) for the given Blockchain. -```bash -avalanche transaction sign [blockchainName] [flags] -``` +**Usage:** `avalanche subnet vmid [subcommand] [flags]` -**Flags**: +**Flags:** -```bash --h, --help help for sign - --input-tx-filepath string Path to the transaction file for signing --k, --key string select the key to use [fuji only] --g, --ledger use ledger instead of key (always true on mainnet, defaults to false on fuji) - --ledger-addrs strings use the given ledger addresses -``` +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for vmid | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -Key[​](#key "Direct link to heading") -------------------------------------- +## avalanche teleporter -The `key` command suite provides a collection of tools for creating and managing signing keys. You can use these keys to deploy Avalanche L1s to the Fuji Testnet, but these keys are NOT suitable to use in production environments. DO NOT use these keys on Mainnet. +The teleporter command suite provides a collection of tools for interacting +with Teleporter-Enabled Subnets. -To get started, use the `key create` command. +**Usage:** `avalanche teleporter [subcommand] [flags]` -### Create +**Flags:** -The `key create` command generates a new private key to use for creating and controlling test Avalanche L1s. Keys generated by this command are NOT cryptographically secure enough to use in production environments. DO NOT use these keys on Mainnet. +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for teleporter | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +**Subcommands:** + +- [`bridge`](#teleporter-bridge): The bridge command suite provides tools to deploy and manage Teleporter Bridges. + +Deprecation notice: use avalanche interchain tokenTransferrer' instead +- [`deploy`](#teleporter-deploy): Deploys Teleporter into a given Network and Subnet. +- [`msg`](#teleporter-msg): Sends and wait reception for a teleporter msg between two subnets (Currently only for local network). +- [`relayer`](#teleporter-relayer): The relayer command suite provides a collection of tools for deploying +and configuring an ICM relayers. + +### bridge + +The bridge command suite provides tools to deploy and manage Teleporter Bridges. + +Deprecation notice: use avalanche interchain tokenTransferrer' instead + +**Usage:** `avalanche teleporter bridge [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for bridge | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +**Subcommands:** + +- [`deploy`](#bridge-deploy): Deploys Token Bridge into a given Network and Subnets + +Deprecation notice: use 'avalanche interchain tokenTransferrer deploy + +#### bridge deploy + +Deploys Token Bridge into a given Network and Subnets + +Deprecation notice: use 'avalanche interchain tokenTransferrer deploy + +**Usage:** `avalanche teleporter bridge deploy [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--c-chain-home` | set the Transferrer's Home Chain into C-Chain | +| `--c-chain-remote` | set the Transferrer's Remote Chain into C-Chain | +| `--cluster` | string operate on the given cluster | +| `--deploy-erc20-home` | string deploy a Transferrer Home for the given Chain's ERC20 Token | +| `--deploy-native-home` | deploy a Transferrer Home for the Chain's Native Token | +| `--deploy-native-remote` | deploy a Transferrer Remote for the Chain's Native Token | +| `--devnet` | operate on a devnet network | +| `--endpoint` | string use the given endpoint for network operations | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `-h, --help` | help for deploy | +| `--home-blockchain` | string set the Transferrer's Home Chain into the given CLI blockchain | +| `--home-genesis-key` | use genesis allocated key to deploy Transferrer Home | +| `--home-key` | string CLI stored key to use to deploy Transferrer Home | +| `--home-private-key` | string private key to use to deploy Transferrer Home | +| `--home-rpc` | string use the given RPC URL to connect to the home blockchain | +| `-l, --local` | operate on a local network | +| `--remote-blockchain` | string set the Transferrer's Remote Chain into the given CLI blockchain | +| `--remote-genesis-key` | use genesis allocated key to deploy Transferrer Remote | +| `--remote-key` | string CLI stored key to use to deploy Transferrer Remote | +| `--remote-private-key` | string private key to use to deploy Transferrer Remote | +| `--remote-rpc` | string use the given RPC URL to connect to the remote blockchain | +| `--remote-token-decimals` | uint8 use the given number of token decimals for the Transferrer Remote [defaults to token home's decimals (18 for a new wrapped native home token)] | +| `--remove-minter-admin` | remove the native minter precompile admin found on remote blockchain genesis | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--use-home` | string use the given Transferrer's Home Address | +| `--version` | string tag/branch/commit of Avalanche Interchain Token Transfer (ICTT) to be used (defaults to main branch) | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### deploy + +Deploys Teleporter into a given Network and Subnet. + +**Usage:** `avalanche teleporter deploy [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--blockchain` | string deploy ICM into the given CLI blockchain | +| `--blockchain-id` | string deploy ICM into the given blockchain ID/Alias | +| `--c-chain` | deploy ICM into C-Chain | +| `--cluster` | string operate on the given cluster | +| `--deploy-messenger` | deploy Teleporter Messenger (default true) | +| `--deploy-registry` | deploy Teleporter Registry (default true) | +| `--devnet` | operate on a devnet network | +| `--endpoint` | string use the given endpoint for network operations | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `--genesis-key` | use genesis allocated key to fund ICM deploy | +| `-h, --help` | help for deploy | +| `--key` | string CLI stored key to use to fund ICM deploy | +| `-l, --local` | operate on a local network | +| `--messenger-contract-address-path` | string path to a messenger contract address file | +| `--messenger-deployer-address-path` | string path to a messenger deployer address file | +| `--messenger-deployer-tx-path` | string path to a messenger deployer tx file | +| `--private-key` | string private key to use to fund ICM deploy | +| `--registry-bytecode-path` | string path to a registry bytecode file | +| `--rpc-url` | string use the given RPC URL to connect to the subnet | +| `--subnet` | string deploy ICM into the given CLI blockchain | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--version` | string version to deploy (default "latest") | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### msg + +Sends and wait reception for a teleporter msg between two subnets (Currently only for local network). + +**Usage:** `avalanche teleporter msg [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--cluster` | string operate on the given cluster | +| `--dest-rpc` | string use the given destination blockchain rpc endpoint | +| `--destination-address` | string deliver the message to the given contract destination address | +| `--devnet` | operate on a devnet network | +| `--endpoint` | string use the given endpoint for network operations | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `--genesis-key` | use genesis allocated key as message originator and to pay source blockchain fees | +| `-h, --help` | help for msg | +| `--hex-encoded` | given message is hex encoded | +| `--key` | string CLI stored key to use as message originator and to pay source blockchain fees | +| `-l, --local` | operate on a local network | +| `--private-key` | string private key to use as message originator and to pay source blockchain fees | +| `--source-rpc` | string use the given source blockchain rpc endpoint | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +### relayer + +The relayer command suite provides a collection of tools for deploying +and configuring an ICM relayers. + +**Usage:** `avalanche teleporter relayer [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for relayer | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +**Subcommands:** + +- [`deploy`](#relayer-deploy): Deploys an ICM Relayer for the given Network. +- [`logs`](#relayer-logs): Shows pretty formatted AWM relayer logs +- [`start`](#relayer-start): Starts AWM relayer on the specified network (Currently only for local network). +- [`stop`](#relayer-stop): Stops AWM relayer on the specified network (Currently only for local network, cluster). + +#### relayer deploy + +Deploys an ICM Relayer for the given Network. + +**Usage:** `avalanche teleporter relayer deploy [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--cluster` | string operate on the given cluster | +| `--devnet` | operate on a devnet network | +| `--endpoint` | string use the given endpoint for network operations | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `-h, --help` | help for deploy | +| `-l, --local` | operate on a local network | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--version` | string version to deploy (default "latest") | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +#### relayer logs + +Shows pretty formatted AWM relayer logs + +**Usage:** `avalanche teleporter relayer logs [subcommand] [flags]` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--endpoint` | string use the given endpoint for network operations | +| `--first` | uint output first N log lines | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `-h, --help` | help for logs | +| `--last` | uint output last N log lines | +| `-l, --local` | operate on a local network | +| `--raw` | raw logs output | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -The command works by generating a secp256 key and storing it with the provided `keyName`. You can use this key in other commands by providing this `keyName`. +#### relayer start -If you'd like to import an existing key instead of generating one from scratch, provide the `--file` flag. +Starts AWM relayer on the specified network (Currently only for local network). -**Usage**: +**Usage:** `avalanche teleporter relayer start [subcommand] [flags]` -```bash -avalanche key create [keyName] [flags] -``` +**Flags:** -**Flags**: +| Flag | Description | +| ---- | ----------- | +| `--cluster` | string operate on the given cluster | +| `--endpoint` | string use the given endpoint for network operations | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `-h, --help` | help for start | +| `-l, --local` | operate on a local network | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -```bash - --file string import the key from an existing key file --f, --force overwrite an existing key with the same name --h, --help help for create -``` +#### relayer stop -### Delete +Stops AWM relayer on the specified network (Currently only for local network, cluster). -The `key delete` command deletes an existing signing key. +**Usage:** `avalanche teleporter relayer stop [subcommand] [flags]` -To delete a key, provide the `keyName`. The command prompts for confirmation before deleting the key. To skip the confirmation, provide the `--force` flag. +**Flags:** -**Usage**: +| Flag | Description | +| ---- | ----------- | +| `--cluster` | string operate on the given cluster | +| `--endpoint` | string use the given endpoint for network operations | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `-h, --help` | help for stop | +| `-l, --local` | operate on a local network | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -```bash -avalanche key delete [keyName] [flags] -``` +## avalanche transaction -**Flags**: +The transaction command suite provides all of the utilities required to sign multisig transactions. -```bash --f, --force delete the key without confirmation --h, --help help for delete -``` +**Usage:** `avalanche transaction [subcommand] [flags]` -### Export +**Flags:** -The `key export` command exports a created signing key. You can use an exported key in other applications or import it into another instance of Avalanche-CLI. +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for transaction | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -By default, the tool writes the hex encoded key to stdout. If you provide the `--output` flag, the command writes the key to a file of your choosing. +**Subcommands:** -**Usage**: +- [`commit`](#transaction-commit): The transaction commit command commits a transaction by submitting it to the P-Chain. +- [`sign`](#transaction-sign): The transaction sign command signs a multisig transaction. -`avalanche key export [keyName] [flags]` +### commit -**Flags**: +The transaction commit command commits a transaction by submitting it to the P-Chain. -```bash --h, --help help for export --o, --output string write the key to the provided file path -``` +**Usage:** `avalanche transaction commit [subcommand] [flags]` -### List +**Flags:** -The `key list` command prints information for all stored signing keys or for the ledger addresses associated to certain indices. +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for commit | +| `--input-tx-filepath` | string Path to the transaction signed by all signatories | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -**Usage**: +### sign -```bash -avalanche key list [flags] -``` +The transaction sign command signs a multisig transaction. -**Flags**: +**Usage:** `avalanche transaction sign [subcommand] [flags]` -```bash --a, --all-networks list all network addresses --c, --cchain list C-Chain addresses (default true) --f, --fuji list testnet (fuji) network addresses --h, --help help for list --g, --ledger uints list ledger addresses for the given indices (default []) --l, --local list local network addresses --m, --mainnet list mainnet network addresses - --pchain list P-Chain addresses (default true) - --subnet string provide balance information for the given subnet (Subnet-Evm based only) --t, --testnet list testnet (fuji) network addresses --n, --use-nano-avax use nano Avax for balances - --xchain list X-Chain addresses (default true) -``` +**Flags:** -### Transfer +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for sign | +| `--input-tx-filepath` | string Path to the transaction file for signing | +| `-k, --key` | string select the key to use [fuji only] | +| `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji) | +| `--ledger-addrs` | strings use the given ledger addresses | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | -The `key transfer` command allows to transfer funds between stored keys or ledger addresses. +## avalanche update -**Usage**: +Check if an update is available, and prompt the user to install it -```bash -avalanche key transfer [options] [flags] -``` +**Usage:** `avalanche update [subcommand] [flags]` -**Flags**: +**Flags:** -```bash --o, --amount float amount to send or receive (AVAX units) --f, --force avoid transfer confirmation --u, --fuji transfer between testnet (fuji) addresses - --fund-p-chain fund P-Chain account on target - --fund-x-chain fund X-Chain account on target --h, --help help for transfer --k, --key string key associated to the sender or receiver address --i, --ledger uint32 ledger index associated to the sender or receiver address (default 32768) --l, --local transfer between local network addresses --m, --mainnet transfer between mainnet addresses --g, --receive receive the transfer --r, --receive-recovery-step uint receive step to use for multiple step transaction recovery --s, --send send the transfer --a, --target-addr string receiver address --t, --testnet transfer between testnet (fuji) addresses -``` +| Flag | Description | +| ---- | ----------- | +| `-c, --confirm` | Assume yes for installation | +| `-h, --help` | help for update | +| `-v, --version` | version for update | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | From 1f902704a324e495621d18919890205faf31816d Mon Sep 17 00:00:00 2001 From: owenwahlgren Date: Wed, 20 Nov 2024 18:38:18 -0500 Subject: [PATCH 03/13] refactor build first l1 doc --- .../build-first-avalanche-l1.mdx | 213 +++++++++++++----- 1 file changed, 159 insertions(+), 54 deletions(-) diff --git a/content/docs/avalanche-l1s/build-first-avalanche-l1.mdx b/content/docs/avalanche-l1s/build-first-avalanche-l1.mdx index a4ef26d13ab..7df946afb35 100644 --- a/content/docs/avalanche-l1s/build-first-avalanche-l1.mdx +++ b/content/docs/avalanche-l1s/build-first-avalanche-l1.mdx @@ -45,6 +45,14 @@ The following sections walk through each question in the wizard. ### Choose Your VM[​](#choose-your-vm "Direct link to heading") +```bash +Use the arrow keys to navigate: ↓ ↑ → ← +? Which Virtual Machine would you like to use?: + ▸ Subnet-EVM + Custom VM + Explain the difference +``` + Select `SubnetEVM`. ### Choose Your Validator Manager Contract[​](#choose-your-validator-management "Direct link to heading") @@ -61,41 +69,54 @@ For this tutorial, select `Proof of Authority (PoA)`. For more info, reference the [Validator Management Contracts](/evm-l1s/validator-manager/contract). -### Enter Your Avalanche L1's ChainID[​](#enter-your-avalanche-l1s-chainid "Direct link to heading") - -Choose a positive integer for your EVM-style ChainID. +### Enter Owner Address for Validator Manager Contract[](#choose-validator-manager-address "Direct link to heading") -In production environments, this ChainID needs to be unique and not shared with any other chain. You can visit [chainlist](https://chainlist.org/) to verify that your selection is unique. Because this is a development Avalanche L1, feel free to pick any number. Stay away from well-known ChainIDs such as 1 (Ethereum) or 43114 (Avalanche C-Chain) as those may cause issues with other tools. - -### Token Symbol[​](#token-symbol "Direct link to heading") - -Enter a string to name your Avalanche L1's native token. The token symbol doesn't necessarily need to be unique. Example token symbols are AVAX, JOE, and BTC. - -### Subnet-EVM Version[​](#subnet-evm-version "Direct link to heading") +This address will be able to add and remove validators from your Avalanche L1. You can either use an existing key or create a new one. +```bash +Which address do you want to enable as controller of ValidatorManager contract?: + ▸ Get address from an existing stored key (created from avalanche key create or avalanche key import) + Custom +``` +In addition to being the PoA owner, this address will also be the owner of the `ProxyAdmin` contract of the Validator Manager's `TransparentUpgradeableProxy`. This address will be able to upgrade the Validator Manager implementation through upgrading the proxy. -Select `Use latest version`. +### Enter EVM Configuration[​](#enter-evm-configuration "Direct link to heading") +The CLI provides some default values to help you get started. You can choose to use these defaults or customize them. +These values include things such as airdrop amount, gas fees, and gas limits. -### Gas Fee Configuration[​](#gas-fee-configuration "Direct link to heading") +```bash +? Do you want to use default values for the Blockchain configuration?: + ▸ I want to use defaults for a test environment + I want to use defaults for a production environment + I don't want to use default values + Explain the difference +``` -This question determines how to set gas fees on your Avalanche L1. +For this tutorial, select `I want to use defaults for a test environment`. -Select `Low disk use / Low Throughput 1.5 mil gas/s (C-Chain's setting)`. -### Airdrop[​](#airdrop "Direct link to heading") +### Enter Your Avalanche L1's ChainID[​](#enter-your-avalanche-l1s-chainid "Direct link to heading") -Select `Airdrop 1 million tokens to the default address (do not use in production)`. +```bash +✗ Chain ID: +``` +Choose a positive integer for your EVM-style ChainID. -This address's private key is well-known, so DO NOT send any production funds to it. Attackers would likely drain the funds instantly. +In production environments, this ChainID needs to be unique and not shared with any other chain. You can visit [chainlist](https://chainlist.org/) to verify that your selection is unique. Because this is a development Avalanche L1, feel free to pick any number. Stay away from well-known ChainIDs such as 1 (Ethereum) or 43114 (Avalanche C-Chain) as those may cause issues with other tools. -When you are ready to start more mature testing, select `Customize your airdrop` to distribute funds to additional addresses. +### Token Symbol[​](#token-symbol "Direct link to heading") -### Precompiles[​](#precompiles "Direct link to heading") +```bash +✗ Token Symbol: +``` -Precompiles are Avalanche's way of customizing the behavior of your Avalanche L1. They're strictly an advanced feature, so you can safely select `No` for now. +Enter a string to name your Avalanche L1's native token. The token symbol doesn't necessarily need to be unique. Example token symbols are AVAX, JOE, and BTC. ### Wrapping Up[​](#wrapping-up "Direct link to heading") -If all worked successfully, the command prints `Successfully created blockchain configuration`. +If all worked successfully, the command prints: +```bash +✓ Successfully created blockchain configuration +``` You've successfully created your first Avalanche L1 configuration. Now it's time to deploy it. @@ -110,6 +131,15 @@ avalanche blockchain deploy myblockchain Make sure to substitute the name of your Avalanche L1 if you used a different one than `myblockchain`. +```bash +? Choose a network for the operation: + ▸ Local Network + Devnet + Etna Devnet + Fuji Testnet + Mainnet +``` + Next, select `Local Network`. This command boots a five node Avalanche network on your machine. It needs to download the latest versions of AvalancheGo and Subnet-EVM. The command may take a couple minutes to run. @@ -124,37 +154,112 @@ avalanche blockchain deploy myblockchain # output ✔ Local Network Deploying [myblockchain] to Local Network -Installing subnet-evm-v0.4.3... -subnet-evm-v0.4.3 installation successful -Backend controller started, pid: 93928, output at: /Users/subnet-developer/.avalanche-cli/runs/server_20221122_173138/avalanche-cli-backend -Installing avalanchego-v1.9.3... -avalanchego-v1.9.3 installation successful -VMs ready. -Starting network... -.................. -Blockchain has been deployed. Wait until network acknowledges... -...... -Network ready to use. Local network node endpoints: -+-------+----------+------------------------------------------------------------------------------------+ -| NODE | VM | URL | -+-------+----------+------------------------------------------------------------------------------------+ -| node2 | myblockchain | http://127.0.0.1:9652/ext/bc/SPqou41AALqxDquEycNYuTJmRvZYbfoV9DYApDJVXKXuwVFPz/rpc | -+-------+----------+------------------------------------------------------------------------------------+ -| node3 | myblockchain | http://127.0.0.1:9654/ext/bc/SPqou41AALqxDquEycNYuTJmRvZYbfoV9DYApDJVXKXuwVFPz/rpc | -+-------+----------+------------------------------------------------------------------------------------+ -| node4 | myblockchain | http://127.0.0.1:9656/ext/bc/SPqou41AALqxDquEycNYuTJmRvZYbfoV9DYApDJVXKXuwVFPz/rpc | -+-------+----------+------------------------------------------------------------------------------------+ -| node5 | myblockchain | http://127.0.0.1:9658/ext/bc/SPqou41AALqxDquEycNYuTJmRvZYbfoV9DYApDJVXKXuwVFPz/rpc | -+-------+----------+------------------------------------------------------------------------------------+ -| node1 | myblockchain | http://127.0.0.1:9650/ext/bc/SPqou41AALqxDquEycNYuTJmRvZYbfoV9DYApDJVXKXuwVFPz/rpc | -+-------+----------+------------------------------------------------------------------------------------+ - -Browser Extension connection details (any node URL from above works): -RPC URL: http://127.0.0.1:9650/ext/bc/SPqou41AALqxDquEycNYuTJmRvZYbfoV9DYApDJVXKXuwVFPz/rpc -Funded address: 0x8db97C7cEcE249c2b98bDC0226Cc4C2A57BF52FC with 1000000 (10^18) - private key: 56289e99c94b6912bfc12adc093c9b51124f0dc54ac7a766b2bc5ccf558d8027 -Network name: myblockchain -Chain ID: 54325 -Currency Symbol: TUTORIAL +Backend controller started, pid: 53868, output at: /Users/l1-developer/.avalanche-cli/runs/server_20241120_183019/avalanche-cli-backend.log + +Booting Network. Wait until healthy... +Node logs directory: /Users/l1-developer/.avalanche-cli/runs/network_20241120_183020/node/logs +Network ready to use. + +Deploying Blockchain. Wait until network acknowledges... + +Blockchain ready to use + ++--------------------------------------------------------------------------------------------------------------------------------+ +| MYBLOCKCHAIN | ++---------------+----------------------------------------------------------------------------------------------------------------+ +| Name | myblockchain | ++---------------+----------------------------------------------------------------------------------------------------------------+ +| VM ID | qDNV9vtxZYYNqm7TN1mYBuaaknLdefDbFK8bFmMLTJQJKaWjV | ++---------------+----------------------------------------------------------------------------------------------------------------+ +| VM Version | v0.6.12 | ++---------------+----------------------------------------------------------------------------------------------------------------+ +| Validation | Proof Of Authority | ++---------------+--------------------------+-------------------------------------------------------------------------------------+ +| Local Network | ChainID | 888 | +| +--------------------------+-------------------------------------------------------------------------------------+ +| | SubnetID | 26eqgD4Kt1MvTKXC9BDjEwBAfhcBcHCKj2EXjR2UuFpSWoAHhw | +| +--------------------------+-------------------------------------------------------------------------------------+ +| | Owners (Threhold=1) | P-custom18jma8ppw3nhx5r4ap8clazz0dps7rv5u9xde7p | +| +--------------------------+-------------------------------------------------------------------------------------+ +| | BlockchainID (CB58) | 2BK8CKA4Vfvi69TBTc5GW94JQ9nPiL8xPpPNeeckb9UFSPYedD | +| +--------------------------+-------------------------------------------------------------------------------------+ +| | BlockchainID (HEX) | 0x9b1ca24503853edd6b6ac083f78adc8c36df74a85027e1b30535cc1032287805 | +| +--------------------------+-------------------------------------------------------------------------------------+ +| | RPC Endpoint | http://127.0.0.1:9650/ext/bc/2BK8CKA4Vfvi69TBTc5GW94JQ9nPiL8xPpPNeeckb9UFSPYedD/rpc | ++---------------+--------------------------+-------------------------------------------------------------------------------------+ + ++---------------------------+ +| TOKEN | ++--------------+------------+ +| Token Name | TST Token | ++--------------+------------+ +| Token Symbol | TST | ++--------------+------------+ + ++------------------------------------------------------------------------------------------------------------------------------------+ +| INITIAL TOKEN ALLOCATION | ++---------------------+------------------------------------------------------------------+---------------+---------------------------+ +| DESCRIPTION | ADDRESS AND PRIVATE KEY | AMOUNT (OWEN) | AMOUNT (WEI) | ++---------------------+------------------------------------------------------------------+---------------+---------------------------+ +| Main funded account | 0x8db97C7cEcE249c2b98bDC0226Cc4C2A57BF52FC | 1000000 | 1000000000000000000000000 | +| ewoq | 56289e99c94b6912bfc12adc093c9b51124f0dc54ac7a766b2bc5ccf558d8027 | | | ++---------------------+------------------------------------------------------------------+---------------+---------------------------+ + ++-----------------------------------------------------------------------------------------------------------------+ +| SMART CONTRACTS | ++-----------------------+--------------------------------------------+--------------------------------------------+ +| DESCRIPTION | ADDRESS | DEPLOYER | ++-----------------------+--------------------------------------------+--------------------------------------------+ +| PoA Validator Manager | 0x0C0DEbA5E0000000000000000000000000000000 | | ++-----------------------+--------------------------------------------+--------------------------------------------+ +| Transparent Proxy | 0x0Feedc0de0000000000000000000000000000000 | | ++-----------------------+--------------------------------------------+--------------------------------------------+ +| Proxy Admin | 0xC0fFEE1234567890aBCdeF1234567890abcDef34 | 0x8db97C7cEcE249c2b98bDC0226Cc4C2A57BF52FC | ++-----------------------+--------------------------------------------+--------------------------------------------+ + ++----------------------------------------------------------------------+ +| INITIAL PRECOMPILE CONFIGS | ++------------+-----------------+-------------------+-------------------+ +| PRECOMPILE | ADMIN ADDRESSES | MANAGER ADDRESSES | ENABLED ADDRESSES | ++------------+-----------------+-------------------+-------------------+ +| Warp | n/a | n/a | n/a | ++------------+-----------------+-------------------+-------------------+ + ++-------------------------------------------------------------------------------------------------+ +| MYBLOCKCHAIN RPC URLS | ++-----------+-------------------------------------------------------------------------------------+ +| Localhost | http://127.0.0.1:9650/ext/bc/2BK8CKA4Vfvi69TBTc5GW94JQ9nPiL8xPpPNeeckb9UFSPYedD/rpc | ++-----------+-------------------------------------------------------------------------------------+ + ++--------------------------------------------------------------------------+ +| NODES | ++-------+------------------------------------------+-----------------------+ +| NAME | NODE ID | LOCALHOST ENDPOINT | ++-------+------------------------------------------+-----------------------+ +| node1 | NodeID-7Xhw2mDxuDS44j42TCB6U5579esbSt3Lg | http://127.0.0.1:9650 | ++-------+------------------------------------------+-----------------------+ +| node2 | NodeID-MFrZFVCXPv5iCn6M9K6XduxGTYp891xXZ | http://127.0.0.1:9652 | ++-------+------------------------------------------+-----------------------+ +| node3 | NodeID-NFBbbJ4qCmNaCzeW7sxErhvWqvEQMnYcN | http://127.0.0.1:9654 | ++-------+------------------------------------------+-----------------------+ +| node4 | NodeID-GWPcbFJZFfZreETSoWjPimr846mXEKCtu | http://127.0.0.1:9656 | ++-------+------------------------------------------+-----------------------+ +| node5 | NodeID-P7oB2McjBGgW2NXXWVYjV8JEDFoW9xDE5 | http://127.0.0.1:9658 | ++-------+------------------------------------------+-----------------------+ + ++-------------------------------------------------------------------------------------------------------+ +| WALLET CONNECTION | ++-----------------+-------------------------------------------------------------------------------------+ +| Network RPC URL | http://127.0.0.1:9650/ext/bc/2BK8CKA4Vfvi69TBTc5GW94JQ9nPiL8xPpPNeeckb9UFSPYedD/rpc | ++-----------------+-------------------------------------------------------------------------------------+ +| Network Name | myblockchain | ++-----------------+-------------------------------------------------------------------------------------+ +| Chain ID | 888 | ++-----------------+-------------------------------------------------------------------------------------+ +| Token Symbol | TST | ++-----------------+-------------------------------------------------------------------------------------+ +| Token Name | TST Token | ++-----------------+-------------------------------------------------------------------------------------+ ``` You can use the deployment details to connect to and interact with your Avalanche L1. Now it's time to interact with it. @@ -170,10 +275,10 @@ To allow API calls from other machines, use `--http-host=0.0.0.0` in the config. ```bash Browser Extension connection details (any node URL from above works): -RPC URL: http://127.0.0.1:9650/ext/bc/SPqou41AALqxDquEycNYuTJmRvZYbfoV9DYApDJVXKXuwVFPz/rpc +RPC URL: http://127.0.0.1:9650/ext/bc/2BK8CKA4Vfvi69TBTc5GW94JQ9nPiL8xPpPNeeckb9UFSPYedD/rpc Funded address: 0x8db97C7cEcE249c2b98bDC0226Cc4C2A57BF52FC with 1000000 (10^18) - private key: 56289e99c94b6912bfc12adc093c9b51124f0dc54ac7a766b2bc5ccf558d8027 Network name: myblockchain -Chain ID: 54325 +Chain ID: 888 Currency Symbol: TUTORIAL ``` From 8cd6a0ac2a5d30666528e78fc77a6a09c88128ca Mon Sep 17 00:00:00 2001 From: owenwahlgren Date: Wed, 20 Nov 2024 18:48:06 -0500 Subject: [PATCH 04/13] update view avalanche l1s --- .../maintain/view-avalanche-l1s.mdx | 267 ++++++++++-------- 1 file changed, 152 insertions(+), 115 deletions(-) diff --git a/content/docs/avalanche-l1s/maintain/view-avalanche-l1s.mdx b/content/docs/avalanche-l1s/maintain/view-avalanche-l1s.mdx index 2529a808e1c..883916cd401 100644 --- a/content/docs/avalanche-l1s/maintain/view-avalanche-l1s.mdx +++ b/content/docs/avalanche-l1s/maintain/view-avalanche-l1s.mdx @@ -7,11 +7,13 @@ description: Learn how to view Avalanche L1s deployed using Avalanche-CLI. avalanche blockchain list # output -+-------------+-------------+----------+---------------------------------------------------+------------+-----------+ -| Avalanche L1 | CHAIN | CHAIN ID | VM ID | TYPE | FROM REPO | -+-------------+-------------+----------+---------------------------------------------------+------------+-----------+ -| test | test | 5234 | tGBrM2SXkAdNsqzb3SaFZZWMNdzjjFEUKteheTa4dhUwnfQyu | Subnet-EVM | false | -+-------------+-------------+----------+---------------------------------------------------+------------+-----------+ ++--------------+--------------+---------+---------------------------------------------------+------------+------------+-----------+ +| SUBNET | CHAIN | CHAINID | VMID | TYPE | VM VERSION | FROM REPO | ++--------------+--------------+---------+---------------------------------------------------+------------+------------+-----------+ +| myblockchain | myblockchain | 888 | qDNV9vtxZYYNqm7TN1mYBuaaknLdefDbFK8bFmMLTJQJKaWjV | Subnet-EVM | v0.6.12 | false | ++--------------+--------------+---------+---------------------------------------------------+------------+------------+-----------+ +| test | test | 123 | rX1atTpmvt7LHNzqWs9P2KQ66rNh4c7M4CkmYWbHcMaSB8mQN | Subnet-EVM | v0.6.12 | false | ++--------------+--------------+---------+---------------------------------------------------+------------+------------+-----------+ ``` To see detailed information about your deployed Avalanche L1s, add the `--deployed` flag: @@ -20,98 +22,115 @@ To see detailed information about your deployed Avalanche L1s, add the `--deploy avalanche blockchain list --deployed # output -+-------------+-------------+---------------------------------------------------+---------------+-----------------------------------------------------------------+---------+ -| Avalanche L1 | CHAIN | VM ID | LOCAL NETWORK | FUJI (TESTNET) | MAINNET | -+-------------+-------------+---------------------------------------------------+---------------+-----------------------------------------------------------------+---------+ -| test | test | tGBrM2SXkAdNsqzb3SaFZZWMNdzjjFEUKteheTa4dhUwnfQyu | Yes | SubnetID: XTK7AM2Pw5A4cCtQ3rTugqbeLCU9mVixML3YwwLYUJ4WXN2Kt | No | -+ + + + +-----------------------------------------------------------------+---------+ -| | | | | BlockchainID: 5ce2WhnyeMELzg9UtfpCDGNwRa2AzMzRhBWfTqmFuiXPWE4TR | No | -+-------------+-------------+---------------------------------------------------+---------------+-----------------------------------------------------------------+---------+ ++--------------+--------------+---------------------------------------------------+---------------+----------------+---------+ +| SUBNET | CHAIN | VM ID | LOCAL NETWORK | FUJI (TESTNET) | MAINNET | ++--------------+--------------+---------------------------------------------------+---------------+----------------+---------+ +| myblockchain | myblockchain | qDNV9vtxZYYNqm7TN1mYBuaaknLdefDbFK8bFmMLTJQJKaWjV | Yes | No | No | ++--------------+--------------+---------------------------------------------------+---------------+ +---------+ +| test | test | rX1atTpmvt7LHNzqWs9P2KQ66rNh4c7M4CkmYWbHcMaSB8mQN | No | | No | ++--------------+--------------+---------------------------------------------------+---------------+----------------+---------+ ``` ```bash avalanche blockchain describe myblockchain #output - _____ _ _ _ -| __ \ | | (_) | -| | | | ___| |_ __ _ _| |___ -| | | |/ _ \ __/ _ | | / __| -| |__| | __/ || (_| | | \__ \ -|_____/ \___|\__\__,_|_|_|___/ -+----------------------------+----------------------------------------------------+ -| PARAMETER | VALUE | -+----------------------------+----------------------------------------------------+ -| Blockchain Name | myblockchain | -+----------------------------+----------------------------------------------------+ -| ChainID | 12345 | -+----------------------------+----------------------------------------------------+ -| Token Name | FSN | -+----------------------------+----------------------------------------------------+ -| VM ID | tGBrM2SXkAdNsqzb3SaFZZWMNdzjjFEUKteheTa4dhUwnfQyu | -+----------------------------+----------------------------------------------------+ -| Fuji SubnetID | XTK7AM2Pw5A4cCtQ3rTugqbeLCU9mVixML3YwwLYUJ4WXN2Kt | -+----------------------------+----------------------------------------------------+ -| Fuji BlockchainID | 5ce2WhnyeMELzg9UtfpCDGNwRa2AzMzRhBWfTqmFuiXPWE4TR | -+----------------------------+----------------------------------------------------+ -| Local Network SubnetID | 2CZP2ndbQnZxTzGuZjPrJAm5b4s2K2Bcjh8NqWoymi8NZMLYQk | -+----------------------------+----------------------------------------------------+ -| Local Network BlockchainID | oaCmwvn8FDuv8QjeTozGpHeczk1Kv2651j2jhm6sR1nraGwVW | -+----------------------------+----------------------------------------------------+ - - _____ _____ __ _ - / ____| / ____| / _(_) -| | __ __ _ ___ | | ___ _ __ | |_ _ __ _ -| | |_ |/ _ / __| | | / _ \| '_ \| _| |/ _ | -| |__| | (_| \__ \ | |___| (_) | | | | | | | (_| | - \_____|\__,_|___/ \_____\___/|_| |_|_| |_|\__, | - __/ | - |___/ -+--------------------------+-------------+ -| GAS PARAMETER | VALUE | -+--------------------------+-------------+ -| GasLimit | 15000000 | -+--------------------------+-------------+ -| MinBaseFee | 25000000000 | -+--------------------------+-------------+ -| TargetGas | 15000000 | -+--------------------------+-------------+ -| BaseFeeChangeDenominator | 36 | -+--------------------------+-------------+ -| MinBlockGasCost | 0 | -+--------------------------+-------------+ -| MaxBlockGasCost | 1000000 | -+--------------------------+-------------+ -| TargetBlockRate | 2 | -+--------------------------+-------------+ -| BlockGasCostStep | 200000 | -+--------------------------+-------------+ - - _ _ - /\ (_) | | - / \ _ _ __ __| |_ __ ___ _ __ - / /\ \ | | '__/ _ | '__/ _ \| '_ \ - / ____ \| | | | (_| | | | (_) | |_) | -/_/ \_\_|_| \__,_|_| \___/| .__/ - | | - |_| -+--------------------------------------------+------------------------+---------------------------+ -| ADDRESS | AIRDROP AMOUNT (10^18) | AIRDROP AMOUNT (WEI) | -+--------------------------------------------+------------------------+---------------------------+ -| 0x8db97C7cEcE249c2b98bDC0226Cc4C2A57BF52FC | 1000000 | 1000000000000000000000000 | -+--------------------------------------------+------------------------+---------------------------+ - - - _____ _ _ - | __ \ (_) | - | |__) | __ ___ ___ ___ _ __ ___ _ __ _| | ___ ___ - | ___/ '__/ _ \/ __/ _ \| '_ _ \| '_ \| | |/ _ \/ __| - | | | | | __/ (_| (_) | | | | | | |_) | | | __/\__ \ - |_| |_| \___|\___\___/|_| |_| |_| .__/|_|_|\___||___/ - | | - |_| - -No precompiles set ++--------------------------------------------------------------------------------------------------------------------------------+ +| MYBLOCKCHAIN | ++---------------+----------------------------------------------------------------------------------------------------------------+ +| Name | myblockchain | ++---------------+----------------------------------------------------------------------------------------------------------------+ +| VM ID | qDNV9vtxZYYNqm7TN1mYBuaaknLdefDbFK8bFmMLTJQJKaWjV | ++---------------+----------------------------------------------------------------------------------------------------------------+ +| VM Version | v0.6.12 | ++---------------+----------------------------------------------------------------------------------------------------------------+ +| Validation | Proof Of Authority | ++---------------+--------------------------+-------------------------------------------------------------------------------------+ +| Local Network | ChainID | 888 | +| +--------------------------+-------------------------------------------------------------------------------------+ +| | SubnetID | 26eqgD4Kt1MvTKXC9BDjEwBAfhcBcHCKj2EXjR2UuFpSWoAHhw | +| +--------------------------+-------------------------------------------------------------------------------------+ +| | Owners (Threhold=1) | P-custom18jma8ppw3nhx5r4ap8clazz0dps7rv5u9xde7p | +| +--------------------------+-------------------------------------------------------------------------------------+ +| | BlockchainID (CB58) | 2BK8CKA4Vfvi69TBTc5GW94JQ9nPiL8xPpPNeeckb9UFSPYedD | +| +--------------------------+-------------------------------------------------------------------------------------+ +| | BlockchainID (HEX) | 0x9b1ca24503853edd6b6ac083f78adc8c36df74a85027e1b30535cc1032287805 | +| +--------------------------+-------------------------------------------------------------------------------------+ +| | RPC Endpoint | http://127.0.0.1:9650/ext/bc/2BK8CKA4Vfvi69TBTc5GW94JQ9nPiL8xPpPNeeckb9UFSPYedD/rpc | ++---------------+--------------------------+-------------------------------------------------------------------------------------+ + ++---------------------------+ +| TOKEN | ++--------------+------------+ +| Token Name | OWEN Token | ++--------------+------------+ +| Token Symbol | OWEN | ++--------------+------------+ + ++------------------------------------------------------------------------------------------------------------------------------------+ +| INITIAL TOKEN ALLOCATION | ++---------------------+------------------------------------------------------------------+---------------+---------------------------+ +| DESCRIPTION | ADDRESS AND PRIVATE KEY | AMOUNT (OWEN) | AMOUNT (WEI) | ++---------------------+------------------------------------------------------------------+---------------+---------------------------+ +| Main funded account | 0x8db97C7cEcE249c2b98bDC0226Cc4C2A57BF52FC | 1000000 | 1000000000000000000000000 | +| ewoq | 56289e99c94b6912bfc12adc093c9b51124f0dc54ac7a766b2bc5ccf558d8027 | | | ++---------------------+------------------------------------------------------------------+---------------+---------------------------+ + ++-----------------------------------------------------------------------------------------------------------------+ +| SMART CONTRACTS | ++-----------------------+--------------------------------------------+--------------------------------------------+ +| DESCRIPTION | ADDRESS | DEPLOYER | ++-----------------------+--------------------------------------------+--------------------------------------------+ +| Proxy Admin | 0xC0fFEE1234567890aBCdeF1234567890abcDef34 | 0x8db97C7cEcE249c2b98bDC0226Cc4C2A57BF52FC | ++-----------------------+--------------------------------------------+--------------------------------------------+ +| PoA Validator Manager | 0x0C0DEbA5E0000000000000000000000000000000 | | ++-----------------------+--------------------------------------------+--------------------------------------------+ +| Transparent Proxy | 0x0Feedc0de0000000000000000000000000000000 | | ++-----------------------+--------------------------------------------+--------------------------------------------+ + ++----------------------------------------------------------------------+ +| INITIAL PRECOMPILE CONFIGS | ++------------+-----------------+-------------------+-------------------+ +| PRECOMPILE | ADMIN ADDRESSES | MANAGER ADDRESSES | ENABLED ADDRESSES | ++------------+-----------------+-------------------+-------------------+ +| Warp | n/a | n/a | n/a | ++------------+-----------------+-------------------+-------------------+ + ++-------------------------------------------------------------------------------------------------+ +| MYBLOCKCHAIN RPC URLS | ++-----------+-------------------------------------------------------------------------------------+ +| Localhost | http://127.0.0.1:9650/ext/bc/2BK8CKA4Vfvi69TBTc5GW94JQ9nPiL8xPpPNeeckb9UFSPYedD/rpc | ++-----------+-------------------------------------------------------------------------------------+ + ++--------------------------------------------------------------------------+ +| NODES | ++-------+------------------------------------------+-----------------------+ +| NAME | NODE ID | LOCALHOST ENDPOINT | ++-------+------------------------------------------+-----------------------+ +| node1 | NodeID-7Xhw2mDxuDS44j42TCB6U5579esbSt3Lg | http://127.0.0.1:9650 | ++-------+------------------------------------------+-----------------------+ +| node2 | NodeID-MFrZFVCXPv5iCn6M9K6XduxGTYp891xXZ | http://127.0.0.1:9652 | ++-------+------------------------------------------+-----------------------+ +| node3 | NodeID-NFBbbJ4qCmNaCzeW7sxErhvWqvEQMnYcN | http://127.0.0.1:9654 | ++-------+------------------------------------------+-----------------------+ +| node4 | NodeID-GWPcbFJZFfZreETSoWjPimr846mXEKCtu | http://127.0.0.1:9656 | ++-------+------------------------------------------+-----------------------+ +| node5 | NodeID-P7oB2McjBGgW2NXXWVYjV8JEDFoW9xDE5 | http://127.0.0.1:9658 | ++-------+------------------------------------------+-----------------------+ + ++-------------------------------------------------------------------------------------------------------+ +| WALLET CONNECTION | ++-----------------+-------------------------------------------------------------------------------------+ +| Network RPC URL | http://127.0.0.1:9650/ext/bc/2BK8CKA4Vfvi69TBTc5GW94JQ9nPiL8xPpPNeeckb9UFSPYedD/rpc | ++-----------------+-------------------------------------------------------------------------------------+ +| Network Name | myblockchain | ++-----------------+-------------------------------------------------------------------------------------+ +| Chain ID | 888 | ++-----------------+-------------------------------------------------------------------------------------+ +| Token Symbol | TST | ++-----------------+-------------------------------------------------------------------------------------+ +| Token Name | TST Token | ++-----------------+-------------------------------------------------------------------------------------+ ``` If you'd like to see the raw genesis file, supply the `--genesis` flag to the describe command: @@ -122,50 +141,66 @@ avalanche blockchain describe myblockchain --genesis # output { "config": { - "chainId": 12345, - "homesteadBlock": 0, + "berlinBlock": 0, + "byzantiumBlock": 0, + "chainId": 888, + "constantinopleBlock": 0, "eip150Block": 0, - "eip150Hash": "0x2086799aeebeae135c246c65021c82b4e15a2c451340993aacfd2751886514f0", "eip155Block": 0, "eip158Block": 0, - "byzantiumBlock": 0, - "constantinopleBlock": 0, - "petersburgBlock": 0, - "istanbulBlock": 0, - "muirGlacierBlock": 0, "feeConfig": { - "gasLimit": 15000000, + "gasLimit": 12000000, "targetBlockRate": 2, "minBaseFee": 25000000000, - "targetGas": 15000000, + "targetGas": 60000000, "baseFeeChangeDenominator": 36, "minBlockGasCost": 0, "maxBlockGasCost": 1000000, "blockGasCostStep": 200000 }, - "contractDeployerAllowListConfig": { - "blockTimestamp": null, - "adminAddresses": null - }, - "contractNativeMinterConfig": { - "blockTimestamp": null, - "adminAddresses": null - }, - "txAllowListConfig": { - "blockTimestamp": null, - "adminAddresses": null + "homesteadBlock": 0, + "istanbulBlock": 0, + "londonBlock": 0, + "muirGlacierBlock": 0, + "petersburgBlock": 0, + "warpConfig": { + "blockTimestamp": 1732145132, + "quorumNumerator": 67, + "requirePrimaryNetworkSigners": true } }, "nonce": "0x0", - "timestamp": "0x0", + "timestamp": "0x673e6fec", "extraData": "0x", - "gasLimit": "0xE4E1C0", + "gasLimit": "0xb71b00", "difficulty": "0x0", "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000", "coinbase": "0x0000000000000000000000000000000000000000", "alloc": { + "0c0deba5e0000000000000000000000000000000": { + "code": ... (too large to display) + "balance": "0x0", + "nonce": "0x1" + }, + "0feedc0de0000000000000000000000000000000": { + "code": ... (too large to display), + "storage": { + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000000000000000000000000c0deba5e0000000000000000000000000000000", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x000000000000000000000000c0ffee1234567890abcdef1234567890abcdef34" + }, + "balance": "0x0", + "nonce": "0x1" + }, "8db97c7cece249c2b98bdc0226cc4c2a57bf52fc": { "balance": "0xd3c21bcecceda1000000" + }, + "c0ffee1234567890abcdef1234567890abcdef34": { + "code": ... (too large to display) + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000008db97c7cece249c2b98bdc0226cc4c2a57bf52fc" + }, + "balance": "0x0", + "nonce": "0x1" } }, "airdropHash": "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -173,6 +208,8 @@ avalanche blockchain describe myblockchain --genesis "number": "0x0", "gasUsed": "0x0", "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000", - "baseFeePerGas": null + "baseFeePerGas": null, + "excessBlobGas": null, + "blobGasUsed": null } ``` From 71e6996868c98c49f1ac2ac893bce23a2daed7f4 Mon Sep 17 00:00:00 2001 From: owenwahlgren Date: Wed, 20 Nov 2024 19:06:38 -0500 Subject: [PATCH 05/13] maintain/add-validator-l1 --- .../maintain/add-validator-l1.mdx | 88 +++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 content/docs/avalanche-l1s/maintain/add-validator-l1.mdx diff --git a/content/docs/avalanche-l1s/maintain/add-validator-l1.mdx b/content/docs/avalanche-l1s/maintain/add-validator-l1.mdx new file mode 100644 index 00000000000..066947940d0 --- /dev/null +++ b/content/docs/avalanche-l1s/maintain/add-validator-l1.mdx @@ -0,0 +1,88 @@ +--- +title: Add Validator +description: Learn how to add a validator to an Avalanche L1. +--- + + +### Add a Validator to an Avalanche L1 +```bash +avalanche blockchin addValidator +``` +#### Choose Network +Choose the network where the operation will be +```bash +? Choose a network for the operation: + ▸ Local Network + Devnet + Fuji Testnet + Mainnet +``` + +#### Choose P-Chain fee payer +Choose the key that will be used to pay for the transaction fees on the P-Chain. +```bash +? Which key should be used to pay for transaction fees on P-Chain?: + ▸ Use stored key + Use ledger +``` + +#### Enter Node ID +Enter the NodeID of the node you want to add as a blockchain validator. +```bash +✗ What is the NodeID of the node you want to add as a blockchain validator?: +``` + +You can find the NodeID in the node's configuration file or the console when first started with avalanchego. +An example of a NodeID is `NodeID-7Xhw2mDxuDS44j42TCB6U5579esbSt3Lg` + + +#### Enter the BLS Public Key +Enter the public key of the node's BLS +```bash +Next, we need the public key and proof of possession of the node's BLS +Check https://docs.avax.network/api-reference/info-api#infogetnodeid for instructions on calling info.getNodeID API +✗ What is the node's BLS public key?: +``` + +You can find the BLS public key in the node's configuration file or the console when first started with avalanchego. + + +#### Enter BLS Proof of Possession +Enter the proof of possession of the node's BLS +```bash +✗ What is the node's BLS proof of possession?: +``` + +You can find the BLS proof of possession in the node's configuration file or the console when first started with avalanchego. + + +#### Enter AVAX Balance +This balance will be used to pay the P-Chain continuous staking fee. +```bash +✗ What balance would you like to assign to the validator (in AVAX)?: +``` + +#### Enter Leftover AVAX Address +This address will receive any leftover AVAX when the node is removed from the validator set. +```bash +? Which key would you like to set as change owner for leftover AVAX if the node is removed from validator set?: + ▸ Get address from an existing stored key (created from avalanche key create or avalanche key import) + Custom +``` + +#### Enter Disable Validator Address +This address will be able to disable the validator using P-Chain transactions. +```bash + Which address do you want to be able to disable the validator using P-Chain transactions?: + ▸ Get address from an existing stored key (created from avalanche key create or avalanche key import) + Custom +``` + +### Proof of Stake specific parameters +If your network was created with Proof of Stake validator manager, you will be asked for the following additional parameters. You can also pass these parameters as flags to the command. + +```bash +--delegation-fee uint16 delegation fee (in bips) +--stake-amount uint amount of native tokens to stake +--staking-period duration how long this validator will be staking +``` From fea2934828ff2be6f2636542708b4294a09fee18 Mon Sep 17 00:00:00 2001 From: owenwahlgren Date: Wed, 20 Nov 2024 19:18:16 -0500 Subject: [PATCH 06/13] update meta.json, init remove validator --- .../avalanche-l1s/maintain/remove-validator-l1.mdx | 10 ++++++++++ content/docs/avalanche-l1s/meta.json | 2 ++ 2 files changed, 12 insertions(+) create mode 100644 content/docs/avalanche-l1s/maintain/remove-validator-l1.mdx diff --git a/content/docs/avalanche-l1s/maintain/remove-validator-l1.mdx b/content/docs/avalanche-l1s/maintain/remove-validator-l1.mdx new file mode 100644 index 00000000000..57bccd19228 --- /dev/null +++ b/content/docs/avalanche-l1s/maintain/remove-validator-l1.mdx @@ -0,0 +1,10 @@ +--- +title: Remove Validator +description: Learn how to remove a validator from an Avalanche L1. +--- + +### Remove a Validator from an Avalanche L1 + +```bash +avalanche blockchin removeValidator +``` \ No newline at end of file diff --git a/content/docs/avalanche-l1s/meta.json b/content/docs/avalanche-l1s/meta.json index 621abea7689..2ab228f6dd7 100644 --- a/content/docs/avalanche-l1s/meta.json +++ b/content/docs/avalanche-l1s/meta.json @@ -14,6 +14,8 @@ "deploy-a-avalanche-l1/multisig-auth", "deploy-a-avalanche-l1/custom-virtual-machine", "---Maintain an Avalanche L1---", + "maintain/add-validator-l1", + "maintain/remove-validator-l1", "maintain/view-avalanche-l1s", "maintain/delete-avalanche-l1", "maintain/transfer-pchain-funds", From fbc4e9bd91dd2c9267ad6c2341f2a32504dceba9 Mon Sep 17 00:00:00 2001 From: owenwahlgren Date: Thu, 21 Nov 2024 12:24:22 -0500 Subject: [PATCH 07/13] remove validator page --- .../maintain/remove-validator-l1.mdx | 54 ++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) diff --git a/content/docs/avalanche-l1s/maintain/remove-validator-l1.mdx b/content/docs/avalanche-l1s/maintain/remove-validator-l1.mdx index 57bccd19228..3e29d94ac3f 100644 --- a/content/docs/avalanche-l1s/maintain/remove-validator-l1.mdx +++ b/content/docs/avalanche-l1s/maintain/remove-validator-l1.mdx @@ -7,4 +7,56 @@ description: Learn how to remove a validator from an Avalanche L1. ```bash avalanche blockchin removeValidator -``` \ No newline at end of file +``` + +#### Choose the Network +Choose the network where the validator is registered. +```bash +? Choose a network for the operation: + ▸ Local Network + Devnet + Fuji Testnet + Mainnet +``` + +#### Choose P-Chain fee payer +Choose the key to pay for the transaction fees on the P-Chain. +```bash +? Which key should be used to pay for transaction fees on P-Chain?: + ▸ Use stored key + Use ledger +``` + +#### Enter Node-ID of the validator to remove +Enter the Node-ID of the validator you want to remove. +```bash +✗ What is the NodeID of the node you want to remove as a blockchain validator?: +``` + +You can find the NodeID in the node's configuration file or the console when first started with avalanchego. +An example of a NodeID is `NodeID-7Xhw2mDxuDS44j42TCB6U5579esbSt3Lg` + + +#### Confirm the removal +```bash +Validator manager owner 0x8db97C7cEcE249c2b98bDC0226Cc4C2A57BF52FC pays for the initialization of the validator's removal (Blockchain gas token) +RPC Endpoint: http://127.0.0.1:9652/ext/bc/2qmU6w47Mp7D7fGhbRuZm6Z1Nn6FZXZAxKpaeTMFiRQW9CBErh/rpc +Forcing removal of NodeID-7cQrriPWGXa5yuJGZUgsxxwH9j4T8pPkY as it is a PoS bootstrap validator +Using validationID: 228zzCgDmAmuaJDGnFkFgnVqbbJPRF7qF1Xpd3dhtqGDhMjJK2 for nodeID: NodeID-7cQrriPWGXa5yuJGZUgsxxwH9j4T8pPkY +ValidationID: 228zzCgDmAmuaJDGnFkFgnVqbbJPRF7qF1Xpd3dhtqGDhMjJK2 +SetSubnetValidatorWeightTX fee: 0.000078836 AVAX +SetSubnetValidatorWeightTx ID: 2FUimPZ37DscPJiQDLrtKtumER3LNr48MJi6VR2jGXkYEKpCaq +✓ Validator successfully removed from the Subnet +``` + + +### Proof of Authority Networks + +If the network is a Proof of Authority network, the validator must be removed from the network by the Validator Manager owner. + + +### Proof of Stake Networks + +If the network is a Proof of Stake network, the validator must be removed by the initial staker. Rewards will be distributed to the validator after the removal. +It is important to note that the initial PoS Validator set are treated as bootstrap validators and are not elgible for rewards. + \ No newline at end of file From bf516b87f723e4af5508d78882ffa10c31dd5428 Mon Sep 17 00:00:00 2001 From: owenwahlgren Date: Thu, 21 Nov 2024 13:16:09 -0500 Subject: [PATCH 08/13] nits --- .../build-first-avalanche-l1.mdx | 28 +++++++++---------- .../maintain/add-validator-l1.mdx | 23 ++++++++++++++- .../maintain/remove-validator-l1.mdx | 4 +-- 3 files changed, 38 insertions(+), 17 deletions(-) diff --git a/content/docs/avalanche-l1s/build-first-avalanche-l1.mdx b/content/docs/avalanche-l1s/build-first-avalanche-l1.mdx index 7df946afb35..9a4bc832da8 100644 --- a/content/docs/avalanche-l1s/build-first-avalanche-l1.mdx +++ b/content/docs/avalanche-l1s/build-first-avalanche-l1.mdx @@ -43,7 +43,7 @@ avalanche blockchain create myblockchain The following sections walk through each question in the wizard. -### Choose Your VM[​](#choose-your-vm "Direct link to heading") +### Choose Your VM[​](#choose-your-vm) ```bash Use the arrow keys to navigate: ↓ ↑ → ← @@ -53,9 +53,9 @@ Use the arrow keys to navigate: ↓ ↑ → ← Explain the difference ``` -Select `SubnetEVM`. +Select `Subnet-EVM`. -### Choose Your Validator Manager Contract[​](#choose-your-validator-management "Direct link to heading") +### Choose Your Validator Manager Contract[​](#choose-your-validator-management) Choose either Proof of Authority (PoA) or Proof of Stake (PoS) as your consensus mechanism. ```bash @@ -66,10 +66,10 @@ Choose either Proof of Authority (PoA) or Proof of Stake (PoS) as your consensus ``` For this tutorial, select `Proof of Authority (PoA)`. -For more info, reference the [Validator Management Contracts](/evm-l1s/validator-manager/contract). +For more info, reference the [Validator Manager Contracts](/evm-l1s/validator-manager/contract). -### Enter Owner Address for Validator Manager Contract[](#choose-validator-manager-address "Direct link to heading") +### Enter Owner Address for Validator Manager Contract[](#choose-validator-manager-address) This address will be able to add and remove validators from your Avalanche L1. You can either use an existing key or create a new one. ```bash @@ -79,7 +79,7 @@ Which address do you want to enable as controller of ValidatorManager contract?: ``` In addition to being the PoA owner, this address will also be the owner of the `ProxyAdmin` contract of the Validator Manager's `TransparentUpgradeableProxy`. This address will be able to upgrade the Validator Manager implementation through upgrading the proxy. -### Enter EVM Configuration[​](#enter-evm-configuration "Direct link to heading") +### Enter EVM Configuration[​](#enter-evm-configuration) The CLI provides some default values to help you get started. You can choose to use these defaults or customize them. These values include things such as airdrop amount, gas fees, and gas limits. @@ -94,7 +94,7 @@ These values include things such as airdrop amount, gas fees, and gas limits. For this tutorial, select `I want to use defaults for a test environment`. -### Enter Your Avalanche L1's ChainID[​](#enter-your-avalanche-l1s-chainid "Direct link to heading") +### Enter Your Avalanche L1's ChainID[​](#enter-your-avalanche-l1s-chainid) ```bash ✗ Chain ID: @@ -103,7 +103,7 @@ Choose a positive integer for your EVM-style ChainID. In production environments, this ChainID needs to be unique and not shared with any other chain. You can visit [chainlist](https://chainlist.org/) to verify that your selection is unique. Because this is a development Avalanche L1, feel free to pick any number. Stay away from well-known ChainIDs such as 1 (Ethereum) or 43114 (Avalanche C-Chain) as those may cause issues with other tools. -### Token Symbol[​](#token-symbol "Direct link to heading") +### Token Symbol[​](#token-symbol) ```bash ✗ Token Symbol: @@ -111,7 +111,7 @@ In production environments, this ChainID needs to be unique and not shared with Enter a string to name your Avalanche L1's native token. The token symbol doesn't necessarily need to be unique. Example token symbols are AVAX, JOE, and BTC. -### Wrapping Up[​](#wrapping-up "Direct link to heading") +### Wrapping Up[​](#wrapping-up) If all worked successfully, the command prints: ```bash @@ -120,7 +120,7 @@ If all worked successfully, the command prints: You've successfully created your first Avalanche L1 configuration. Now it's time to deploy it. -Deploying Avalanche L1s Locally[​](#deploying-avalanche-l1s-locally "Direct link to heading") +Deploying Avalanche L1s Locally[​](#deploying-avalanche-l1s-locally) --------------------------------------------------------------------------------- To deploy your Avalanche L1, run: @@ -264,7 +264,7 @@ Blockchain ready to use You can use the deployment details to connect to and interact with your Avalanche L1. Now it's time to interact with it. -Interacting with Your Avalanche L1[​](#interacting-with-your-avalanche-l1 "Direct link to heading") +Interacting with Your Avalanche L1[​](#interacting-with-your-avalanche-l1) --------------------------------------------------------------------------------------- You can use the value provided by `Browser Extension connection details` to connect to your Avalanche L1 with Core, MetaMask, or any other wallet. @@ -284,7 +284,7 @@ Currency Symbol: TUTORIAL This tutorial uses Core. -### Importing the Test Private Key[​](#importing-the-test-private-key "Direct link to heading") +### Importing the Test Private Key[​](#importing-the-test-private-key) This address derives from a well-known private key. Anyone can steal funds sent to this address. Only use it on development networks that only you have access to. If you send production funds to this address, attackers may steal them instantly. @@ -306,7 +306,7 @@ Next, rename the Core account to prevent confusion. On the `Imported` tab, click ![Rename Account](/images/deploy-subnet4.png) -### Connect to the Avalanche L1[​](#connect-to-the-avalanche-l1 "Direct link to heading") +### Connect to the Avalanche L1[​](#connect-to-the-avalanche-l1) Next, you need to add your Avalanche L1 to Core's networks. @@ -329,7 +329,7 @@ After you feel comfortable with this deployment flow, try deploying smart contra Once you've developed a stable Avalanche L1 you like, see [Create an EVM Avalanche L1 on Fuji Testnet](/avalanche-l1s/deploy-a-avalanche-l1/fuji-testnet) to take your Avalanche L1 one step closer to production. -FAQ[​](#faq "Direct link to heading") +FAQ[​](#faq) ------------------------------------- **How is the Avalanche L1 ID (SubnetID) determined upon creation?** diff --git a/content/docs/avalanche-l1s/maintain/add-validator-l1.mdx b/content/docs/avalanche-l1s/maintain/add-validator-l1.mdx index 066947940d0..994826a531c 100644 --- a/content/docs/avalanche-l1s/maintain/add-validator-l1.mdx +++ b/content/docs/avalanche-l1s/maintain/add-validator-l1.mdx @@ -5,11 +5,14 @@ description: Learn how to add a validator to an Avalanche L1. ### Add a Validator to an Avalanche L1 + ```bash avalanche blockchin addValidator ``` + #### Choose Network Choose the network where the operation will be + ```bash ? Choose a network for the operation: ▸ Local Network @@ -18,8 +21,10 @@ Choose the network where the operation will be Mainnet ``` -#### Choose P-Chain fee payer +#### Choose P-Chain Fee Payer + Choose the key that will be used to pay for the transaction fees on the P-Chain. + ```bash ? Which key should be used to pay for transaction fees on P-Chain?: ▸ Use stored key @@ -27,43 +32,56 @@ Choose the key that will be used to pay for the transaction fees on the P-Chain. ``` #### Enter Node ID + Enter the NodeID of the node you want to add as a blockchain validator. + ```bash ✗ What is the NodeID of the node you want to add as a blockchain validator?: ``` + You can find the NodeID in the node's configuration file or the console when first started with avalanchego. An example of a NodeID is `NodeID-7Xhw2mDxuDS44j42TCB6U5579esbSt3Lg` #### Enter the BLS Public Key + Enter the public key of the node's BLS + ```bash Next, we need the public key and proof of possession of the node's BLS Check https://docs.avax.network/api-reference/info-api#infogetnodeid for instructions on calling info.getNodeID API ✗ What is the node's BLS public key?: ``` + You can find the BLS public key in the node's configuration file or the console when first started with avalanchego. #### Enter BLS Proof of Possession + Enter the proof of possession of the node's BLS + ```bash ✗ What is the node's BLS proof of possession?: ``` + You can find the BLS proof of possession in the node's configuration file or the console when first started with avalanchego. #### Enter AVAX Balance + This balance will be used to pay the P-Chain continuous staking fee. + ```bash ✗ What balance would you like to assign to the validator (in AVAX)?: ``` #### Enter Leftover AVAX Address + This address will receive any leftover AVAX when the node is removed from the validator set. + ```bash ? Which key would you like to set as change owner for leftover AVAX if the node is removed from validator set?: ▸ Get address from an existing stored key (created from avalanche key create or avalanche key import) @@ -71,7 +89,9 @@ This address will receive any leftover AVAX when the node is removed from the va ``` #### Enter Disable Validator Address + This address will be able to disable the validator using P-Chain transactions. + ```bash Which address do you want to be able to disable the validator using P-Chain transactions?: ▸ Get address from an existing stored key (created from avalanche key create or avalanche key import) @@ -79,6 +99,7 @@ This address will be able to disable the validator using P-Chain transactions. ``` ### Proof of Stake specific parameters + If your network was created with Proof of Stake validator manager, you will be asked for the following additional parameters. You can also pass these parameters as flags to the command. ```bash diff --git a/content/docs/avalanche-l1s/maintain/remove-validator-l1.mdx b/content/docs/avalanche-l1s/maintain/remove-validator-l1.mdx index 3e29d94ac3f..adbec417978 100644 --- a/content/docs/avalanche-l1s/maintain/remove-validator-l1.mdx +++ b/content/docs/avalanche-l1s/maintain/remove-validator-l1.mdx @@ -6,7 +6,7 @@ description: Learn how to remove a validator from an Avalanche L1. ### Remove a Validator from an Avalanche L1 ```bash -avalanche blockchin removeValidator +avalanche blockchain removeValidator ``` #### Choose the Network @@ -27,7 +27,7 @@ Choose the key to pay for the transaction fees on the P-Chain. Use ledger ``` -#### Enter Node-ID of the validator to remove +#### Enter Node-ID of the Validator to Remove Enter the Node-ID of the validator you want to remove. ```bash ✗ What is the NodeID of the node you want to remove as a blockchain validator?: From 59a2751306643cbb62727ff6ee9a58af3337c584 Mon Sep 17 00:00:00 2001 From: owenwahlgren Date: Thu, 21 Nov 2024 13:36:36 -0500 Subject: [PATCH 09/13] update avalanche-cli docs --- content/docs/tooling/avalanche-cli.mdx | 1202 +++++++++++++++++++----- 1 file changed, 947 insertions(+), 255 deletions(-) diff --git a/content/docs/tooling/avalanche-cli.mdx b/content/docs/tooling/avalanche-cli.mdx index d53202e6e94..46162b86c85 100644 --- a/content/docs/tooling/avalanche-cli.mdx +++ b/content/docs/tooling/avalanche-cli.mdx @@ -2,60 +2,7 @@ title: Introduction description: Avalanche-CLI is a command-line tool that gives developers access to everything Avalanche. This release specializes in helping developers build and test Subnets. --- -To get started, look at the documentation for the subcommands or jump right in with `avalanche subnet create myNewSubnet`. - -**Commands:** - -- [`blockchain`](#blockchain): The blockchain command suite provides a collection of tools for developing -and deploying Blockchains. - -To get started, use the blockchain create command wizard to walk through the -configuration of your very first Blockchain. Then, go ahead and deploy it -with the blockchain deploy command. You can use the rest of the commands to -manage your Blockchain configurations and live deployments. -- [`config`](#config): Customize configuration for Avalanche-CLI -- [`contract`](#contract): The contract command suite provides a collection of tools for deploying -and interacting with smart contracts. -- [`help`](#help): Help provides help for any command in the application. -Simply type avalanche help [path to command] for full details. -- [`ictt`](#ictt): The ictt command suite provides tools to deploy and manage Interchain Token Transferrers. -- [`interchain`](#interchain): The interchain command suite provides a collection of tools to -set and manage interoperability between blockchains. -- [`key`](#key): The key command suite provides a collection of tools for creating and managing -signing keys. You can use these keys to deploy Subnets to the Fuji Testnet, -but these keys are NOT suitable to use in production environments. DO NOT use -these keys on Mainnet. - -To get started, use the key create command. -- [`network`](#network): The network command suite provides a collection of tools for managing local Subnet -deployments. - -When you deploy a Subnet locally, it runs on a local, multi-node Avalanche network. The -subnet deploy command starts this network in the background. This command suite allows you -to shutdown, restart, and clear that network. - -This network currently supports multiple, concurrently deployed Subnets. -- [`node`](#node): The node command suite provides a collection of tools for creating and maintaining -validators on Avalanche Network. - -To get started, use the node create command wizard to walk through the -configuration to make your node a primary validator on Avalanche public network. You can use the -rest of the commands to maintain your node and make your node a Subnet Validator. -- [`primary`](#primary): The primary command suite provides a collection of tools for interacting with the -Primary Network -- [`subnet`](#subnet): The subnet command suite provides a collection of tools for developing -and deploying Blockchains. - -To get started, use the subnet create command wizard to walk through the -configuration of your very first Blockchain. Then, go ahead and deploy it -with the subnet deploy command. You can use the rest of the commands to -manage your Blockchain configurations and live deployments. - -Deprecation notice: use 'avalanche blockchain' -- [`teleporter`](#teleporter): The teleporter command suite provides a collection of tools for interacting -with Teleporter-Enabled Subnets. -- [`transaction`](#transaction): The transaction command suite provides all of the utilities required to sign multisig transactions. -- [`update`](#update): Check if an update is available, and prompt the user to install it +To get started, look at the documentation for the subcommands or jump right in with `avalanche blockchain create myblockchain`. ## avalanche blockchain @@ -67,7 +14,10 @@ configuration of your very first Blockchain. Then, go ahead and deploy it with the blockchain deploy command. You can use the rest of the commands to manage your Blockchain configurations and live deployments. -**Usage:** `avalanche blockchain [subcommand] [flags]` +**Usage:** +```bash +avalanche blockchain [subcommand] [flags] +``` **Flags:** @@ -91,6 +41,9 @@ these prompts by providing the values with flags. This command currently only works on Blockchains deployed to either the Fuji Testnet or Mainnet. - [`changeOwner`](#blockchain-changeowner): The blockchain changeOwner changes the owner of the subnet of the deployed Blockchain. +- [`changeWeight`](#blockchain-changeweight): The blockchain changeWeight command changes the weight of a Subnet Validator. + +The Subnet has to be a Proof of Authority Subnet-Only Validator Subnet. - [`configure`](#blockchain-configure): AvalancheGo nodes support several different configuration files. Subnets have their own Subnet config which applies to all chains/VMs in the Subnet. Each chain within the Subnet can have its own chain config. A chain can also have special requirements for the AvalancheGo node @@ -172,34 +125,51 @@ these prompts by providing the values with flags. This command currently only works on Blockchains deployed to either the Fuji Testnet or Mainnet. -**Usage:** `avalanche blockchain addValidator [subcommand] [flags]` +**Usage:** +```bash +avalanche blockchain addValidator [subcommand] [flags] +``` **Flags:** | Flag | Description | | ---- | ----------- | -| `--cluster` | string operate on the given cluster | -| `--default-duration` | set duration so as to validate until primary validator ends its period | -| `--default-start-time` | use default start time for subnet validator (5 minutes later for fuji & mainnet, 30 seconds later for devnet) | -| `--default-validator-params` | use default weight/start/duration params for subnet validator | +| `--aggregator-extra-endpoints` | strings endpoints for extra nodes that are needed in signature aggregation | +| `--aggregator-log-level` | string log level to use with signature aggregator (default "Off") | +| `--balance` | uint set the AVAX balance of the validator that will be used for continuous fee to P-Chain | +| `--blockchain-genesis-key` | use genesis allocated key to pay fees for completing the validator's registration (blockchain gas token) | +| `--blockchain-key` | string CLI stored key to use to pay fees for completing the validator's registration (blockchain gas token) | +| `--blockchain-private-key` | string private key to use to pay fees for completing the validator's registration (blockchain gas token) | +| `--bls-proof-of-possession` | string set the BLS proof of possession of the validator to add | +| `--bls-public-key` | string set the BLS public key of the validator to add | +| `--cluster` | string operate on the given cluster | +| `--default-duration` | (for non sovereign blockchain) set duration so as to validate until primary validator ends its period | +| `--default-start-time` | (for non sovereign blockchain) use default start time for subnet validator (5 minutes later for fuji & mainnet, 30 seconds later for devnet) | +| `--default-validator-params` | (for non sovereign blockchain) use default weight/start/duration params for subnet validator | +| `--delegation-fee` | uint16 (PoS only) delegation fee (in bips) (default 100) | | `--devnet` | operate on a devnet network | -| `--endpoint` | string use the given endpoint for network operations | +| `--disable-owner` | string P-Chain address that will able to disable the validator with a P-Chain transaction | +| `--endpoint` | string use the given endpoint for network operations | | `-e, --ewoq` | use ewoq key [fuji/devnet only] | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | | `-h, --help` | help for addValidator | -| `-k, --key` | string select the key to use [fuji/devnet only] | +| `-k, --key` | string select the key to use [fuji/devnet only] | | `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) | -| `--ledger-addrs` | strings use the given ledger addresses | +| `--ledger-addrs` | strings use the given ledger addresses | | `-l, --local` | operate on a local network | | `-m, --mainnet` | operate on mainnet | -| `--nodeID` | string set the NodeID of the validator to add | -| `--output-tx-path` | string file path of the add validator tx | -| `--staking-period` | duration how long this validator will be staking | -| `--start-time` | string UTC start time when this validator starts validating, in 'YYYY-MM-DD HH:MM:SS' format | -| `--subnet-auth-keys` | strings control keys that will be used to authenticate add validator tx | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--wait-for-tx-acceptance` | just issue the add validator tx, without waiting for its acceptance (default true) | -| `--weight` | uint set the staking weight of the validator to add | +| `--node-endpoint` | string gather node id/bls from publicly available avalanchego apis on the given endpoint | +| `--node-id` | string node-id of the validator to add | +| `--output-tx-path` | string (for non sovereign blockchain) file path of the add validator tx | +| `--remaining-balance-owner` | string P-Chain address that will receive any leftover AVAX from the validator when it is removed from Subnet | +| `--rpc` | string connect to validator manager at the given rpc endpoint | +| `--stake-amount` | uint (PoS only) amount of tokens to stake | +| `--staking-period` | duration how long this validator will be staking | +| `--start-time` | string (for non sovereign blockchain) UTC start time when this validator starts validating, in 'YYYY-MM-DD HH:MM:SS' format | +| `--subnet-auth-keys` | strings (for non sovereign blockchain) control keys that will be used to authenticate add validator tx | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--wait-for-tx-acceptance` | (for non sovereign blockchain) just issue the add validator tx, without waiting for its acceptance (default true) | +| `--weight` | uint set the staking weight of the validator to add (default 20) | | `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | | `--log-level` | string log level for the application (default "ERROR") | | `--skip-update-check` | skip check for new versions | @@ -208,7 +178,10 @@ Testnet or Mainnet. The blockchain changeOwner changes the owner of the subnet of the deployed Blockchain. -**Usage:** `avalanche blockchain changeOwner [subcommand] [flags]` +**Usage:** +```bash +avalanche blockchain changeOwner [subcommand] [flags] +``` **Flags:** @@ -235,6 +208,39 @@ The blockchain changeOwner changes the owner of the subnet of the deployed Block | `--log-level` | string log level for the application (default "ERROR") | | `--skip-update-check` | skip check for new versions | +### changeWeight + +The blockchain changeWeight command changes the weight of a Subnet Validator. + +The Subnet has to be a Proof of Authority Subnet-Only Validator Subnet. + +**Usage:** +```bash +avalanche blockchain changeWeight [subcommand] [flags] +``` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--cluster` | string operate on the given cluster | +| `--devnet` | operate on a devnet network | +| `--endpoint` | string use the given endpoint for network operations | +| `-e, --ewoq` | use ewoq key [fuji/devnet only] | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `-h, --help` | help for changeWeight | +| `-k, --key` | string select the key to use [fuji/devnet only] | +| `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) | +| `--ledger-addrs` | strings use the given ledger addresses | +| `-l, --local` | operate on a local network | +| `-m, --mainnet` | operate on mainnet | +| `--node-id` | string node-id of the validator | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--weight` | uint set the new staking weight of the validator (default 20) | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + ### configure AvalancheGo nodes support several different configuration files. Subnets have their own @@ -242,7 +248,10 @@ Subnet config which applies to all chains/VMs in the Subnet. Each chain within t can have its own chain config. A chain can also have special requirements for the AvalancheGo node configuration itself. This command allows you to set all those files. -**Usage:** `avalanche blockchain configure [subcommand] [flags]` +**Usage:** +```bash +avalanche blockchain configure [subcommand] [flags] +``` **Flags:** @@ -271,34 +280,44 @@ By default, running the command with a blockchainName that already exists causes the command to fail. If you'd like to overwrite an existing configuration, pass the -f flag. -**Usage:** `avalanche blockchain create [subcommand] [flags]` +**Usage:** +```bash +avalanche blockchain create [subcommand] [flags] +``` **Flags:** | Flag | Description | | ---- | ----------- | | `--custom` | use a custom VM template | -| `--custom-vm-branch` | string custom vm branch or commit | -| `--custom-vm-build-script` | string custom vm build-script | -| `--custom-vm-path` | string file path of custom vm to use | -| `--custom-vm-repo-url` | string custom vm repository url | -| `--debug` | enable blockchain debugging | +| `--custom-vm-branch` | string custom vm branch or commit | +| `--custom-vm-build-script` | string custom vm build-script | +| `--custom-vm-path` | string file path of custom vm to use | +| `--custom-vm-repo-url` | string custom vm repository url | +| `--debug` | enable blockchain debugging (default true) | | `--evm` | use the Subnet-EVM as the base template | -| `--evm-chain-id` | uint chain ID to use with Subnet-EVM | +| `--evm-chain-id` | uint chain ID to use with Subnet-EVM | | `--evm-defaults` | deprecation notice: use '--production-defaults' | -| `--evm-token` | string token symbol to use with Subnet-EVM | +| `--evm-token` | string token symbol to use with Subnet-EVM | | `--external-gas-token` | use a gas token from another blockchain | | `-f, --force` | overwrite the existing configuration if one exists | | `--from-github-repo` | generate custom VM binary from github repository | -| `--genesis` | string file path of genesis to use | +| `--genesis` | string file path of genesis to use | | `-h, --help` | help for create | +| `--icm-registry-at-genesis` | setup ICM registry smart contract on genesis [experimental] | | `--latest` | use latest Subnet-EVM released version, takes precedence over --vm-version | | `--pre-release` | use latest Subnet-EVM pre-released version, takes precedence over --vm-version | | `--production-defaults` | use default production settings for your blockchain | +| `--proof-of-authority` | use proof of authority(PoA) for validator management | +| `--proof-of-stake` | use proof of stake(PoS) for validator management | +| `--proxy-contract-owner` | string EVM address that controls ProxyAdmin for TransparentProxy of ValidatorManager contract | +| `--reward-basis-points` | uint (PoS only) reward basis points for PoS Reward Calculator (default 100) | +| `--sovereign` | set to false if creating non-sovereign blockchain (default true) | | `--teleporter` | interoperate with other blockchains using teleporter | | `--test-defaults` | use default test settings for your blockchain | -| `--vm` | string file path of custom vm to use. alias to custom-vm-path | -| `--vm-version` | string version of Subnet-EVM template to use | +| `--validator-manager-owner` | string EVM address that controls Validator Manager Owner | +| `--vm` | string file path of custom vm to use. alias to custom-vm-path | +| `--vm-version` | string version of Subnet-EVM template to use | | `--warp` | generate a vm with warp support (needed for teleporter) (default true) | | `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | | `--log-level` | string log level for the application (default "ERROR") | @@ -308,7 +327,10 @@ configuration, pass the -f flag. The blockchain delete command deletes an existing blockchain configuration. -**Usage:** `avalanche blockchain delete [subcommand] [flags]` +**Usage:** +```bash +avalanche blockchain delete [subcommand] [flags] +``` **Flags:** @@ -332,20 +354,34 @@ avalanche network clean to reset all deployed chain state. Subsequent local depl redeploy the chain with fresh state. You can deploy the same Blockchain to multiple networks, so you can take your locally tested Subnet and deploy it on Fuji or Mainnet. -**Usage:** `avalanche blockchain deploy [subcommand] [flags]` +**Usage:** +```bash +avalanche blockchain deploy [subcommand] [flags] +``` **Flags:** | Flag | Description | | ---- | ----------- | +| `--aggregator-extra-endpoints` | strings endpoints for extra nodes that are needed in signature aggregation | +| `--aggregator-log-level` | string log level to use with signature aggregator (default "Off") | | `--avalanchego-path` | string use this avalanchego binary path | | `--avalanchego-version` | string use this version of avalanchego (ex: v1.17.12) (default "latest") | +| `--blockchain-genesis-key` | use genesis allocated key to fund validator manager initialization | +| `--blockchain-key` | string CLI stored key to use to fund validator manager initialization | +| `--blockchain-private-key` | string private key to use to fund validator manager initialization | +| `--bootstrap-endpoints` | strings take validator node info from the given endpoints | +| `--bootstrap-filepath` | string JSON file path that provides details about bootstrap validators, leave Node-ID and BLS values empty if using --generate-node-id=true | +| `--change-owner-address` | string address that will receive change if node is no longer L1 validator | | `--cluster` | string operate on the given cluster | | `--control-keys` | strings addresses that may make subnet changes | +| `--convert-only` | avoid node track, restart and poa manager setup | | `--devnet` | operate on a devnet network | | `--endpoint` | string use the given endpoint for network operations | +| `--etna-devnet` | operate on an etna devnet network | | `-e, --ewoq` | use ewoq key [fuji/devnet deploy only] | | `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `--generate-node-id` | whether to create new node id for bootstrap validators (Node-ID and BLS values in bootstrap JSON file will be overridden if --bootstrap-filepath flag is used) | | `-h, --help` | help for deploy | | `-k, --key` | string select the key to use [fuji/devnet deploy only] | | `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) | @@ -353,7 +389,17 @@ so you can take your locally tested Subnet and deploy it on Fuji or Mainnet. | `-l, --local` | operate on a local network | | `-m, --mainnet` | operate on mainnet | | `--mainnet-chain-id` | uint32 use different ChainID for mainnet deployment | +| `--num-bootstrap-validators` | int (only if --generate-node-id is true) number of bootstrap validators to set up in sovereign L1 validator) | +| `--num-local-nodes` | int number of nodes to be created on local machine (default 5) | | `--output-tx-path` | string file path of the blockchain creation tx | +| `--partial-sync` | set primary network partial sync for new validators (default true) | +| `--pos-maximum-stake-amount` | uint maximum stake amount (default 1000) | +| `--pos-maximum-stake-multiplier` | uint8 maximum stake multiplier (default 1) | +| `--pos-minimum-delegation-fee` | uint16 minimum delegation fee (default 1) | +| `--pos-minimum-stake-amount` | uint minimum stake amount (default 1) | +| `--pos-minimum-stake-duration` | uint minimum stake duration (default 100) | +| `--pos-weight-to-value-factor` | uint weight to value factor (default 1) | +| `--relayer-version` | string relayer version to deploy (default "latest") | | `-s, --same-control-key` | use the fee-paying key as control key | | `--skip-local-teleporter` | skip automatic teleporter deploy on local networks [to be deprecated] | | `--skip-relayer` | skip relayer deploy | @@ -368,6 +414,7 @@ so you can take your locally tested Subnet and deploy it on Fuji or Mainnet. | `--teleporter-version` | string teleporter version to deploy (default "latest") | | `-t, --testnet` | fuji operate on testnet (alias to fuji) | | `--threshold` | uint32 required number of control key signatures to make subnet changes | +| `--use-local-machine` | use local machine as a blockchain validator | | `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | | `--log-level` | string log level for the application (default "ERROR") | | `--skip-update-check` | skip check for new versions | @@ -378,7 +425,10 @@ The blockchain describe command prints the details of a Blockchain configuration By default, the command prints a summary of the configuration. By providing the --genesis flag, the command instead prints out the raw genesis file. -**Usage:** `avalanche blockchain describe [subcommand] [flags]` +**Usage:** +```bash +avalanche blockchain describe [subcommand] [flags] +``` **Flags:** @@ -397,7 +447,10 @@ The blockchain export command write the details of an existing Blockchain deploy The command prompts for an output path. You can also provide one with the --output flag. -**Usage:** `avalanche blockchain export [subcommand] [flags]` +**Usage:** +```bash +avalanche blockchain export [subcommand] [flags] +``` **Flags:** @@ -420,7 +473,10 @@ This command suite supports importing from a file created on another computer, or importing from blockchains running public networks (e.g. created manually or with the deprecated subnet-cli) -**Usage:** `avalanche blockchain import [subcommand] [flags]` +**Usage:** +```bash +avalanche blockchain import [subcommand] [flags] +``` **Flags:** @@ -456,7 +512,10 @@ To import from a repository, go through the wizard. By default, an imported Bloc overwrite an existing Blockchain with the same name. To allow overwrites, provide the --force flag. -**Usage:** `avalanche blockchain import file [subcommand] [flags]` +**Usage:** +```bash +avalanche blockchain import file [subcommand] [flags] +``` **Flags:** @@ -479,7 +538,10 @@ By default, an imported Blockchain doesn't overwrite an existing Blockchain with the same name. To allow overwrites, provide the --force flag. -**Usage:** `avalanche blockchain import public [subcommand] [flags]` +**Usage:** +```bash +avalanche blockchain import public [subcommand] [flags] +``` **Flags:** @@ -519,7 +581,10 @@ at that path. This command currently only supports Blockchains deployed on the Fuji Testnet and Mainnet. -**Usage:** `avalanche blockchain join [subcommand] [flags]` +**Usage:** +```bash +avalanche blockchain join [subcommand] [flags] +``` **Flags:** @@ -538,7 +603,7 @@ This command currently only supports Blockchains deployed on the Fuji Testnet an | `--ledger-addrs` | strings use the given ledger addresses | | `-l, --local` | operate on a local network | | `-m, --mainnet` | operate on mainnet | -| `--nodeID` | string set the NodeID of the validator to check | +| `--node-id` | string set the NodeID of the validator to check | | `--plugin-dir` | string file path of avalanchego's plugin directory | | `--print` | if true, print the manual config without prompting | | `--stake-amount` | uint amount of tokens to stake on validator | @@ -555,7 +620,10 @@ The blockchain list command prints the names of all created Blockchain configura it prints some general, static information about the Blockchain. With the --deployed flag, the command shows additional information including the VMID, BlockchainID and SubnetID. -**Usage:** `avalanche blockchain list [subcommand] [flags]` +**Usage:** +```bash +avalanche blockchain list [subcommand] [flags] +``` **Flags:** @@ -571,7 +639,10 @@ shows additional information including the VMID, BlockchainID and SubnetID. The blockchain publish command publishes the Blockchain's VM to a repository. -**Usage:** `avalanche blockchain publish [subcommand] [flags]` +**Usage:** +```bash +avalanche blockchain publish [subcommand] [flags] +``` **Flags:** @@ -596,26 +667,36 @@ validating your deployed Blockchain. To remove the validator from the Subnet's allow list, provide the validator's unique NodeID. You can bypass these prompts by providing the values with flags. -**Usage:** `avalanche blockchain removeValidator [subcommand] [flags]` +**Usage:** +```bash +avalanche blockchain removeValidator [subcommand] [flags] +``` **Flags:** | Flag | Description | | ---- | ----------- | -| `--cluster` | string operate on the given cluster | +| `--aggregator-extra-endpoints` | strings endpoints for extra nodes that are needed in signature aggregation | +| `--aggregator-log-level` | string log level to use with signature aggregator (default "Off") | +| `--blockchain-genesis-key` | use genesis allocated key to pay fees for completing the validator's removal (blockchain gas token) | +| `--blockchain-key` | string CLI stored key to use to pay fees for completing the validator's removal (blockchain gas token) | +| `--blockchain-private-key` | string private key to use to pay fees for completing the validator's removal (blockchain gas token) | +| `--cluster` | string operate on the given cluster | | `--devnet` | operate on a devnet network | -| `--endpoint` | string use the given endpoint for network operations | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `--endpoint` | string use the given endpoint for network operations | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | | `-h, --help` | help for removeValidator | -| `-k, --key` | string select the key to use [fuji deploy only] | +| `-k, --key` | string select the key to use [fuji deploy only] | | `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji) | -| `--ledger-addrs` | strings use the given ledger addresses | +| `--ledger-addrs` | strings use the given ledger addresses | | `-l, --local` | operate on a local network | | `-m, --mainnet` | operate on mainnet | -| `--nodeID` | string set the NodeID of the validator to remove | -| `--output-tx-path` | string file path of the removeValidator tx | -| `--subnet-auth-keys` | strings control keys that will be used to authenticate the removeValidator tx | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--node-endpoint` | string remove validator that responds to the given endpoint | +| `--node-id` | string node-id of the validator | +| `--output-tx-path` | string (for non-SOV blockchain only) file path of the removeValidator tx | +| `--rpc` | string connect to validator manager at the given rpc endpoint | +| `--subnet-auth-keys` | strings (for non-SOV blockchain only) control keys that will be used to authenticate the removeValidator tx | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | | `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | | `--log-level` | string log level for the application (default "ERROR") | | `--skip-update-check` | skip check for new versions | @@ -624,7 +705,10 @@ these prompts by providing the values with flags. The blockchain stats command prints validator statistics for the given Blockchain. -**Usage:** `avalanche blockchain stats [subcommand] [flags]` +**Usage:** +```bash +avalanche blockchain stats [subcommand] [flags] +``` **Flags:** @@ -647,7 +731,10 @@ The blockchain stats command prints validator statistics for the given Blockchai The blockchain upgrade command suite provides a collection of tools for updating your developmental and deployed Blockchains. -**Usage:** `avalanche blockchain upgrade [subcommand] [flags]` +**Usage:** +```bash +avalanche blockchain upgrade [subcommand] [flags] +``` **Flags:** @@ -696,7 +783,10 @@ After you update your validator's configuration, you need to restart your valida If you provide the --avalanchego-chain-config-dir flag, this command attempts to write the upgrade file at that path. Refer to https://docs.avax.network/nodes/maintain/chain-config-flags#subnet-chain-configs for related documentation. -**Usage:** `avalanche blockchain upgrade apply [subcommand] [flags]` +**Usage:** +```bash +avalanche blockchain upgrade apply [subcommand] [flags] +``` **Flags:** @@ -718,7 +808,10 @@ Refer to https://docs.avax.network/nodes/maintain/chain-config-flags#subnet-chai Export the upgrade bytes file to a location of choice on disk -**Usage:** `avalanche blockchain upgrade export [subcommand] [flags]` +**Usage:** +```bash +avalanche blockchain upgrade export [subcommand] [flags] +``` **Flags:** @@ -736,7 +829,10 @@ Export the upgrade bytes file to a location of choice on disk The blockchain upgrade generate command builds a new upgrade.json file to customize your Blockchain. It guides the user through the process using an interactive wizard. -**Usage:** `avalanche blockchain upgrade generate [subcommand] [flags]` +**Usage:** +```bash +avalanche blockchain upgrade generate [subcommand] [flags] +``` **Flags:** @@ -751,7 +847,10 @@ guides the user through the process using an interactive wizard. Import the upgrade bytes file into the local environment -**Usage:** `avalanche blockchain upgrade import [subcommand] [flags]` +**Usage:** +```bash +avalanche blockchain upgrade import [subcommand] [flags] +``` **Flags:** @@ -767,7 +866,10 @@ Import the upgrade bytes file into the local environment Print the upgrade.json file content -**Usage:** `avalanche blockchain upgrade print [subcommand] [flags]` +**Usage:** +```bash +avalanche blockchain upgrade print [subcommand] [flags] +``` **Flags:** @@ -786,7 +888,10 @@ can upgrade both local Blockchains and publicly deployed Blockchains on Fuji and The command walks the user through an interactive wizard. The user can skip the wizard by providing command line flags. -**Usage:** `avalanche blockchain upgrade vm [subcommand] [flags]` +**Usage:** +```bash +avalanche blockchain upgrade vm [subcommand] [flags] +``` **Flags:** @@ -811,7 +916,10 @@ command line flags. The blockchain validators command lists the validators of a blockchain's subnet and provides several statistics about them. -**Usage:** `avalanche blockchain validators [subcommand] [flags]` +**Usage:** +```bash +avalanche blockchain validators [subcommand] [flags] +``` **Flags:** @@ -833,7 +941,10 @@ several statistics about them. The blockchain vmid command prints the virtual machine ID (VMID) for the given Blockchain. -**Usage:** `avalanche blockchain vmid [subcommand] [flags]` +**Usage:** +```bash +avalanche blockchain vmid [subcommand] [flags] +``` **Flags:** @@ -848,7 +959,10 @@ The blockchain vmid command prints the virtual machine ID (VMID) for the given B Customize configuration for Avalanche-CLI -**Usage:** `avalanche config [subcommand] [flags]` +**Usage:** +```bash +avalanche config [subcommand] [flags] +``` **Flags:** @@ -871,7 +985,10 @@ Customize configuration for Avalanche-CLI set preferences to authorize access to cloud resources -**Usage:** `avalanche config authorize-cloud-access [subcommand] [flags]` +**Usage:** +```bash +avalanche config authorize-cloud-access [subcommand] [flags] +``` **Flags:** @@ -886,7 +1003,10 @@ set preferences to authorize access to cloud resources set user metrics collection preferences -**Usage:** `avalanche config metrics [subcommand] [flags]` +**Usage:** +```bash +avalanche config metrics [subcommand] [flags] +``` **Flags:** @@ -901,7 +1021,10 @@ set user metrics collection preferences migrate command migrates old ~/.avalanche-cli.json and ~/.avalanche-cli/config to /.avalanche-cli/config.json.. -**Usage:** `avalanche config migrate [subcommand] [flags]` +**Usage:** +```bash +avalanche config migrate [subcommand] [flags] +``` **Flags:** @@ -916,7 +1039,10 @@ migrate command migrates old ~/.avalanche-cli.json and ~/.avalanche-cli/config t set user preference between single node and five nodes local network -**Usage:** `avalanche config singleNode [subcommand] [flags]` +**Usage:** +```bash +avalanche config singleNode [subcommand] [flags] +``` **Flags:** @@ -931,7 +1057,10 @@ set user preference between single node and five nodes local network set user preference between auto saving local network snapshots or not -**Usage:** `avalanche config snapshotsAutoSave [subcommand] [flags]` +**Usage:** +```bash +avalanche config snapshotsAutoSave [subcommand] [flags] +``` **Flags:** @@ -947,7 +1076,10 @@ set user preference between auto saving local network snapshots or not The contract command suite provides a collection of tools for deploying and interacting with smart contracts. -**Usage:** `avalanche contract [subcommand] [flags]` +**Usage:** +```bash +avalanche contract [subcommand] [flags] +``` **Flags:** @@ -962,13 +1094,17 @@ and interacting with smart contracts. - [`deploy`](#contract-deploy): The contract command suite provides a collection of tools for deploying smart contracts. +- [`initValidatorManager`](#contract-initvalidatormanager): Initializes Proof of Authority(PoA) or Proof of Stake(PoS)Validator Manager contract on a Blockchain and sets up initial validator set on the Blockchain. For more info on Validator Manager, please head to https://github.com/ava-labs/teleporter/tree/staking-contract/contracts/validator-manager ### deploy The contract command suite provides a collection of tools for deploying smart contracts. -**Usage:** `avalanche contract deploy [subcommand] [flags]` +**Usage:** +```bash +avalanche contract deploy [subcommand] [flags] +``` **Flags:** @@ -987,7 +1123,10 @@ smart contracts. Deploy an ERC20 token into a given Network and Blockchain -**Usage:** `avalanche contract deploy erc20 [subcommand] [flags]` +**Usage:** +```bash +avalanche contract deploy erc20 [subcommand] [flags] +``` **Flags:** @@ -1007,7 +1146,6 @@ Deploy an ERC20 token into a given Network and Blockchain | `-l, --local` | operate on a local network | | `--private-key` | string private key to use as contract deployer | | `--rpc` | string deploy the contract into the given rpc endpoint | -| `--subnet` | string deploy the ERC20 contract into the given CLI blockchain | | `--supply` | uint set the token supply | | `--symbol` | string set the token symbol | | `-t, --testnet` | fuji operate on testnet (alias to fuji) | @@ -1015,12 +1153,53 @@ Deploy an ERC20 token into a given Network and Blockchain | `--log-level` | string log level for the application (default "ERROR") | | `--skip-update-check` | skip check for new versions | +### initValidatorManager + +Initializes Proof of Authority(PoA) or Proof of Stake(PoS)Validator Manager contract on a Blockchain and sets up initial validator set on the Blockchain. For more info on Validator Manager, please head to https://github.com/ava-labs/teleporter/tree/staking-contract/contracts/validator-manager + +**Usage:** +```bash +avalanche contract initValidatorManager [subcommand] [flags] +``` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--aggregator-extra-endpoints` | strings endpoints for extra nodes that are needed in signature aggregation | +| `--aggregator-log-level` | string log level to use with signature aggregator (default "Off") | +| `--cluster` | string operate on the given cluster | +| `--devnet` | operate on a devnet network | +| `--endpoint` | string use the given endpoint for network operations | +| `--etna-devnet` | operate on an etna devnet network | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `--genesis-key` | use genesis allocated key as contract deployer | +| `-h, --help` | help for initValidatorManager | +| `--key` | string CLI stored key to use as contract deployer | +| `-l, --local` | operate on a local network | +| `--pos-maximum-stake-amount` | uint (PoS only) maximum stake amount (default 1000) | +| `--pos-maximum-stake-multiplier` | uint8 (PoS only )maximum stake multiplier (default 1) | +| `--pos-minimum-delegation-fee` | uint16 (PoS only) minimum delegation fee (default 1) | +| `--pos-minimum-stake-amount` | uint (PoS only) minimum stake amount (default 1) | +| `--pos-minimum-stake-duration` | uint (PoS only) minimum stake duration (default 100) | +| `--pos-reward-calculator-address` | string (PoS only) initialize the ValidatorManager with reward calculator address | +| `--pos-weight-to-value-factor` | uint (PoS only) weight to value factor (default 1) | +| `--private-key` | string private key to use as contract deployer | +| `--rpc` | string deploy the contract into the given rpc endpoint | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + ## avalanche help Help provides help for any command in the application. Simply type avalanche help [path to command] for full details. -**Usage:** `avalanche help [subcommand] [flags]` +**Usage:** +```bash +avalanche help [subcommand] [flags] +``` **Flags:** @@ -1035,7 +1214,10 @@ Simply type avalanche help [path to command] for full details. The ictt command suite provides tools to deploy and manage Interchain Token Transferrers. -**Usage:** `avalanche ictt [subcommand] [flags]` +**Usage:** +```bash +avalanche ictt [subcommand] [flags] +``` **Flags:** @@ -1054,7 +1236,10 @@ The ictt command suite provides tools to deploy and manage Interchain Token Tran Deploys a Token Transferrer into a given Network and Subnets -**Usage:** `avalanche ictt deploy [subcommand] [flags]` +**Usage:** +```bash +avalanche ictt deploy [subcommand] [flags] +``` **Flags:** @@ -1095,7 +1280,10 @@ Deploys a Token Transferrer into a given Network and Subnets The interchain command suite provides a collection of tools to set and manage interoperability between blockchains. -**Usage:** `avalanche interchain [subcommand] [flags]` +**Usage:** +```bash +avalanche interchain [subcommand] [flags] +``` **Flags:** @@ -1114,7 +1302,10 @@ set and manage interoperability between blockchains. The tokenTransfer command suite provides tools to deploy and manage Token Transferrers. -**Usage:** `avalanche interchain tokenTransferrer [subcommand] [flags]` +**Usage:** +```bash +avalanche interchain tokenTransferrer [subcommand] [flags] +``` **Flags:** @@ -1133,7 +1324,10 @@ The tokenTransfer command suite provides tools to deploy and manage Token Transf Deploys a Token Transferrer into a given Network and Subnets -**Usage:** `avalanche interchain tokenTransferrer deploy [subcommand] [flags]` +**Usage:** +```bash +avalanche interchain tokenTransferrer deploy [subcommand] [flags] +``` **Flags:** @@ -1178,7 +1372,10 @@ these keys on Mainnet. To get started, use the key create command. -**Usage:** `avalanche key [subcommand] [flags]` +**Usage:** +```bash +avalanche key [subcommand] [flags] +``` **Flags:** @@ -1225,7 +1422,10 @@ can use this key in other commands by providing this keyName. If you'd like to import an existing key instead of generating one from scratch, provide the --file flag. -**Usage:** `avalanche key create [subcommand] [flags]` +**Usage:** +```bash +avalanche key create [subcommand] [flags] +``` **Flags:** @@ -1246,7 +1446,10 @@ The key delete command deletes an existing signing key. To delete a key, provide the keyName. The command prompts for confirmation before deleting the key. To skip the confirmation, provide the --force flag. -**Usage:** `avalanche key delete [subcommand] [flags]` +**Usage:** +```bash +avalanche key delete [subcommand] [flags] +``` **Flags:** @@ -1266,7 +1469,10 @@ applications or import it into another instance of Avalanche-CLI. By default, the tool writes the hex encoded key to stdout. If you provide the --output flag, the command writes the key to a file of your choosing. -**Usage:** `avalanche key export [subcommand] [flags]` +**Usage:** +```bash +avalanche key export [subcommand] [flags] +``` **Flags:** @@ -1283,7 +1489,10 @@ flag, the command writes the key to a file of your choosing. The key list command prints information for all stored signing keys or for the ledger addresses associated to certain indices. -**Usage:** `avalanche key list [subcommand] [flags]` +**Usage:** +```bash +avalanche key list [subcommand] [flags] +``` **Flags:** @@ -1316,13 +1525,18 @@ keys or for the ledger addresses associated to certain indices. The key transfer command allows to transfer funds between stored keys or ledger addresses. -**Usage:** `avalanche key transfer [subcommand] [flags]` +**Usage:** +```bash +avalanche key transfer [subcommand] [flags] +``` **Flags:** | Flag | Description | | ---- | ----------- | | `-o, --amount` | float amount to send or receive (AVAX or TOKEN units) | +| `--c-chain-receiver` | receive at C-Chain | +| `--c-chain-sender` | send from C-Chain | | `--cluster` | string operate on the given cluster | | `-a, --destination-addr` | string destination address | | `--destination-key` | string key associated to a destination address | @@ -1330,10 +1544,7 @@ The key transfer command allows to transfer funds between stored keys or ledger | `--destination-transferrer-address` | string token transferrer address at the destination subnet (token transferrer experimental) | | `--devnet` | operate on a devnet network | | `--endpoint` | string use the given endpoint for network operations | -| `--force` | avoid transfer confirmation | | `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `--fund-p-chain` | fund P-Chain account on destination | -| `--fund-x-chain` | fund X-Chain account on destination | | `-h, --help` | help for transfer | | `-k, --key` | string key associated to the sender or receiver address | | `-i, --ledger` | uint32 ledger index associated to the sender or receiver address (default 32768) | @@ -1341,10 +1552,15 @@ The key transfer command allows to transfer funds between stored keys or ledger | `-m, --mainnet` | operate on mainnet | | `--origin-subnet` | string subnet where the funds belong (token transferrer experimental) | | `--origin-transferrer-address` | string token transferrer address at the origin subnet (token transferrer experimental) | -| `-g, --receive` | receive the transfer | -| `-r, --receive-recovery-step` | uint receive step to use for multiple step transaction recovery | -| `-s, --send` | send the transfer | +| `--p-chain-receiver` | receive at P-Chain | +| `--p-chain-sender` | send from P-Chain | +| `--receiver-blockchain` | string receive at the given CLI blockchain | +| `--receiver-blockchain-id` | string receive at the given blockchain ID/Alias | +| `--sender-blockchain` | string send from the given CLI blockchain | +| `--sender-blockchain-id` | string send from the given blockchain ID/Alias | | `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--x-chain-receiver` | receive at X-Chain | +| `--x-chain-sender` | send from X-Chain | | `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | | `--log-level` | string log level for the application (default "ERROR") | | `--skip-update-check` | skip check for new versions | @@ -1360,7 +1576,10 @@ to shutdown, restart, and clear that network. This network currently supports multiple, concurrently deployed Subnets. -**Usage:** `avalanche network [subcommand] [flags]` +**Usage:** +```bash +avalanche network [subcommand] [flags] +``` **Flags:** @@ -1397,7 +1616,10 @@ The network clean command shuts down your local, multi-node network. All deploye shutdown and delete their state. You can restart the network by deploying a new Subnet configuration. -**Usage:** `avalanche network clean [subcommand] [flags]` +**Usage:** +```bash +avalanche network clean [subcommand] [flags] +``` **Flags:** @@ -1417,7 +1639,10 @@ By default, the command loads the default snapshot. If you provide the --snapsho flag, the network loads that snapshot instead. The command fails if the local network is already running. -**Usage:** `avalanche network start [subcommand] [flags]` +**Usage:** +```bash +avalanche network start [subcommand] [flags] +``` **Flags:** @@ -1436,7 +1661,10 @@ already running. The network status command prints whether or not a local Avalanche network is running and some basic stats about the network. -**Usage:** `avalanche network status [subcommand] [flags]` +**Usage:** +```bash +avalanche network status [subcommand] [flags] +``` **Flags:** @@ -1457,7 +1685,10 @@ reload this snapshot with network start --snapshot-name `snapshotName`. Otherwis network saves to the default snapshot, overwriting any existing state. You can reload the default snapshot with network start. -**Usage:** `avalanche network stop [subcommand] [flags]` +**Usage:** +```bash +avalanche network stop [subcommand] [flags] +``` **Flags:** @@ -1479,7 +1710,10 @@ To get started, use the node create command wizard to walk through the configuration to make your node a primary validator on Avalanche public network. You can use the rest of the commands to maintain your node and make your node a Subnet Validator. -**Usage:** `avalanche node [subcommand] [flags]` +**Usage:** +```bash +avalanche node [subcommand] [flags] +``` **Flags:** @@ -1544,6 +1778,9 @@ The node list command lists all clusters together with their nodes. - [`loadtest`](#node-loadtest): (ALPHA Warning) This command is currently in experimental mode. The node loadtest command suite starts and stops a load test for an existing devnet cluster. +- [`local`](#node-local): (ALPHA Warning) This command is currently in experimental mode. + +The node local command suite provides a collection of commands related to local nodes - [`refresh-ips`](#node-refresh-ips): (ALPHA Warning) This command is currently in experimental mode. The node refresh-ips command obtains the current IP for all nodes with dynamic IPs in the cluster, @@ -1608,7 +1845,10 @@ will fail. You can check the bootstrap status by calling avalanche node status ` The node addDashboard command adds custom dashboard to the Grafana monitoring dashboard for the cluster. -**Usage:** `avalanche node addDashboard [subcommand] [flags]` +**Usage:** +```bash +avalanche node addDashboard [subcommand] [flags] +``` **Flags:** @@ -1638,7 +1878,10 @@ The created node will be part of group of validators called `clusterName` and users can call node commands with `clusterName` so that the command will apply to all nodes in the cluster -**Usage:** `avalanche node create [subcommand] [flags]` +**Usage:** +```bash +avalanche node create [subcommand] [flags] +``` **Flags:** @@ -1655,15 +1898,19 @@ will apply to all nodes in the cluster | `--aws-volume-size` | int AWS volume size in GB (default 1000) | | `--aws-volume-throughput` | int AWS throughput in MiB/s (for gp3 volume type only) (default 125) | | `--aws-volume-type` | string AWS volume type (default "gp3") | +| `--bootstrap-ids` | stringArray nodeIDs of bootstrap nodes | +| `--bootstrap-ips` | stringArray IP:port pairs of bootstrap nodes | | `--cluster` | string operate on the given cluster | | `--custom-avalanchego-version` | string install given avalanchego version on node/s | | `--devnet` | operate on a devnet network | | `--enable-monitoring` | set up Prometheus monitoring for created nodes. This option creates a separate monitoring cloud instance and incures additional cost | | `--endpoint` | string use the given endpoint for network operations | +| `--etna-devnet` | operate on an etna devnet network | | `-f, --fuji` | testnet operate on fuji (alias to testnet | | `--gcp` | create node/s in GCP cloud | | `--gcp-credentials` | string use given GCP credentials | | `--gcp-project` | string use given GCP project | +| `--genesis` | string path to genesis file | | `--grafana-pkg` | string use grafana pkg instead of apt repo(by default), for example https://dl.grafana.com/oss/release/grafana_10.4.1_amd64.deb | | `-h, --help` | help for create | | `--latest-avalanchego-pre-release-version` | install latest avalanchego pre-release version on node/s | @@ -1671,10 +1918,12 @@ will apply to all nodes in the cluster | `--node-type` | string cloud instance type. Use 'default' to use recommended default instance type | | `--num-apis` | ints number of API nodes(nodes without stake) to create in the new Devnet | | `--num-validators` | ints number of nodes to create per region(s). Use comma to separate multiple numbers for each region in the same order as --region flag | +| `--partial-sync` | primary network partial sync (default true) | | `--public-http-port` | allow public access to avalanchego HTTP port | | `--region` | strings create node(s) in given region(s). Use comma to separate multiple regions | | `--ssh-agent-identity` | string use given ssh identity(only for ssh agent). If not set, default will be used | | `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--upgrade` | string path to upgrade file | | `--use-ssh-agent` | use ssh agent(ex: Yubikey) for ssh auth | | `--use-static-ip` | attach static Public IP on cloud servers (default true) | | `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | @@ -1689,7 +1938,10 @@ The node destroy command terminates all running nodes in cloud server and delete If there is a static IP address attached, it will be released. -**Usage:** `avalanche node destroy [subcommand] [flags]` +**Usage:** +```bash +avalanche node destroy [subcommand] [flags] +``` **Flags:** @@ -1712,7 +1964,10 @@ If there is a static IP address attached, it will be released. The node devnet command suite provides a collection of commands related to devnets. You can check the updated status by calling avalanche node status `clusterName` -**Usage:** `avalanche node devnet [subcommand] [flags]` +**Usage:** +```bash +avalanche node devnet [subcommand] [flags] +``` **Flags:** @@ -1740,7 +1995,10 @@ The node wiz command creates a devnet and deploys, sync and validate a subnet in The node devnet deploy command deploys a subnet into a devnet cluster, creating subnet and blockchain txs for it. It saves the deploy info both locally and remotely. -**Usage:** `avalanche node devnet deploy [subcommand] [flags]` +**Usage:** +```bash +avalanche node devnet deploy [subcommand] [flags] +``` **Flags:** @@ -1760,7 +2018,10 @@ It saves the deploy info both locally and remotely. The node wiz command creates a devnet and deploys, sync and validate a subnet into it. It creates the subnet if so needed. -**Usage:** `avalanche node devnet wiz [subcommand] [flags]` +**Usage:** +```bash +avalanche node devnet wiz [subcommand] [flags] +``` **Flags:** @@ -1839,7 +2100,10 @@ Use --include-secrets to include keys in the export. In this case please keep th Exported cluster configuration without secrets can be imported by another user using node import command. -**Usage:** `avalanche node export [subcommand] [flags]` +**Usage:** +```bash +avalanche node export [subcommand] [flags] +``` **Flags:** @@ -1866,7 +2130,10 @@ the cluster owner. This will enable you to use avalanche-cli commands to manage Please note, that this imported cluster will be considered as EXTERNAL by avalanche-cli, so some commands affecting cloud nodes like node create or node destroy will be not applicable to it. -**Usage:** `avalanche node import [subcommand] [flags]` +**Usage:** +```bash +avalanche node import [subcommand] [flags] +``` **Flags:** @@ -1884,7 +2151,10 @@ affecting cloud nodes like node create or node destroy will be not applicable to The node list command lists all clusters together with their nodes. -**Usage:** `avalanche node list [subcommand] [flags]` +**Usage:** +```bash +avalanche node list [subcommand] [flags] +``` **Flags:** @@ -1901,7 +2171,10 @@ The node list command lists all clusters together with their nodes. The node loadtest command suite starts and stops a load test for an existing devnet cluster. -**Usage:** `avalanche node loadtest [subcommand] [flags]` +**Usage:** +```bash +avalanche node loadtest [subcommand] [flags] +``` **Flags:** @@ -1936,7 +2209,10 @@ test binary based on the provided load test Git Repo URL and load test binary bu The command will then run the load test binary based on the provided load test run command. -**Usage:** `avalanche node loadtest start [subcommand] [flags]` +**Usage:** +```bash +avalanche node loadtest start [subcommand] [flags] +``` **Flags:** @@ -1966,7 +2242,10 @@ The command will then run the load test binary based on the provided load test r The node loadtest stop command stops load testing for an existing devnet cluster and terminates the separate cloud server created to host the load test. -**Usage:** `avalanche node loadtest stop [subcommand] [flags]` +**Usage:** +```bash +avalanche node loadtest stop [subcommand] [flags] +``` **Flags:** @@ -1978,6 +2257,165 @@ separate cloud server created to host the load test. | `--log-level` | string log level for the application (default "ERROR") | | `--skip-update-check` | skip check for new versions | +### local + +(ALPHA Warning) This command is currently in experimental mode. + +The node local command suite provides a collection of commands related to local nodes + +**Usage:** +```bash +avalanche node local [subcommand] [flags] +``` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for local | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +**Subcommands:** + +- [`destroy`](#local-destroy): Cleanup local node. +- [`start`](#local-start): (ALPHA Warning) This command is currently in experimental mode. + +The node local start command sets up a validator on a local server. +The validator will be validating the Avalanche Primary Network and Subnet +of your choice. By default, the command runs an interactive wizard. It +walks you through all the steps you need to set up a validator. +Once this command is completed, you will have to wait for the validator +to finish bootstrapping on the primary network before running further +commands on it, e.g. validating a Subnet. You can check the bootstrapping +status by running avalanche node status local +- [`status`](#local-status): Get status of local node. +- [`stop`](#local-stop): Stop local node. +- [`track`](#local-track): (ALPHA Warning) make the local node at the cluster to track given blockchain + +#### local destroy + +Cleanup local node. + +**Usage:** +```bash +avalanche node local destroy [subcommand] [flags] +``` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for destroy | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +#### local start + +(ALPHA Warning) This command is currently in experimental mode. + +The node local start command sets up a validator on a local server. +The validator will be validating the Avalanche Primary Network and Subnet +of your choice. By default, the command runs an interactive wizard. It +walks you through all the steps you need to set up a validator. +Once this command is completed, you will have to wait for the validator +to finish bootstrapping on the primary network before running further +commands on it, e.g. validating a Subnet. You can check the bootstrapping +status by running avalanche node status local + +**Usage:** +```bash +avalanche node local start [subcommand] [flags] +``` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--avalanchego-path` | string use this avalanchego binary path | +| `--bootstrap-id` | stringArray nodeIDs of bootstrap nodes | +| `--bootstrap-ip` | stringArray IP:port pairs of bootstrap nodes | +| `--cluster` | string operate on the given cluster | +| `--custom-avalanchego-version` | string install given avalanchego version on node/s | +| `--devnet` | operate on a devnet network | +| `--endpoint` | string use the given endpoint for network operations | +| `--etna-devnet` | operate on an etna devnet network | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `--genesis` | string path to genesis file | +| `-h, --help` | help for start | +| `--latest-avalanchego-pre-release-version` | install latest avalanchego pre-release version on node/s | +| `--latest-avalanchego-version` | install latest avalanchego release version on node/s | +| `--node-config` | string path to common avalanchego config settings for all nodes | +| `--num-nodes` | uint32 number of nodes to start (default 1) | +| `--partial-sync` | primary network partial sync (default true) | +| `--staking-cert-key-path` | string path to provided staking cert key for node | +| `--staking-signer-key-path` | string path to provided staking signer key for node | +| `--staking-tls-key-path` | string path to provided staking tls key for node | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--upgrade` | string path to upgrade file | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +#### local status + +Get status of local node. + +**Usage:** +```bash +avalanche node local status [subcommand] [flags] +``` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--blockchain` | string specify the blockchain the node is syncing with | +| `-h, --help` | help for status | +| `--subnet` | string specify the blockchain the node is syncing with | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +#### local stop + +Stop local node. + +**Usage:** +```bash +avalanche node local stop [subcommand] [flags] +``` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `-h, --help` | help for stop | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + +#### local track + +(ALPHA Warning) make the local node at the cluster to track given blockchain + +**Usage:** +```bash +avalanche node local track [subcommand] [flags] +``` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--avalanchego-path` | string use this avalanchego binary path | +| `-h, --help` | help for track | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + ### refresh-ips (ALPHA Warning) This command is currently in experimental mode. @@ -1985,7 +2423,10 @@ separate cloud server created to host the load test. The node refresh-ips command obtains the current IP for all nodes with dynamic IPs in the cluster, and updates the local node information used by CLI commands. -**Usage:** `avalanche node refresh-ips [subcommand] [flags]` +**Usage:** +```bash +avalanche node refresh-ips [subcommand] [flags] +``` **Flags:** @@ -2003,7 +2444,10 @@ and updates the local node information used by CLI commands. The node resize command can change the amount of CPU, memory and disk space available for the cluster nodes. -**Usage:** `avalanche node resize [subcommand] [flags]` +**Usage:** +```bash +avalanche node resize [subcommand] [flags] +``` **Flags:** @@ -2030,7 +2474,10 @@ $ avalanche node scp [cluster1|node1]:/tmp/file.txt /tmp/file.txt $ avalanche node scp /tmp/file.txt [cluster1|NodeID-XXXX]:/tmp/file.txt $ avalanche node scp node1:/tmp/file.txt NodeID-XXXX:/tmp/file.txt -**Usage:** `avalanche node scp [subcommand] [flags]` +**Usage:** +```bash +avalanche node scp [subcommand] [flags] +``` **Flags:** @@ -2054,7 +2501,10 @@ If no command is given, just prints the ssh command to be used to connect to eac For provided NodeID or InstanceID or IP, the command [cmd] will be executed on that node. If no [cmd] is provided for the node, it will open ssh shell there. -**Usage:** `avalanche node ssh [subcommand] [flags]` +**Usage:** +```bash +avalanche node ssh [subcommand] [flags] +``` **Flags:** @@ -2077,7 +2527,10 @@ If no cluster is given, defaults to node list behaviour. To get the bootstrap status of a node with a Blockchain, use --blockchain flag -**Usage:** `avalanche node status [subcommand] [flags]` +**Usage:** +```bash +avalanche node status [subcommand] [flags] +``` **Flags:** @@ -2097,7 +2550,10 @@ To get the bootstrap status of a node with a Blockchain, use --blockchain flag The node sync command enables all nodes in a cluster to be bootstrapped to a Blockchain. You can check the blockchain bootstrap status by calling avalanche node status `clusterName` --blockchain `blockchainName` -**Usage:** `avalanche node sync [subcommand] [flags]` +**Usage:** +```bash +avalanche node sync [subcommand] [flags] +``` **Flags:** @@ -2120,7 +2576,10 @@ their avalanchego or VM config. You can check the status after update by calling avalanche node status -**Usage:** `avalanche node update [subcommand] [flags]` +**Usage:** +```bash +avalanche node update [subcommand] [flags] +``` **Flags:** @@ -2145,7 +2604,10 @@ You can check the updated subnet bootstrap status by calling avalanche node stat The node update subnet command updates all nodes in a cluster with latest Subnet configuration and VM for custom VM. You can check the updated subnet bootstrap status by calling avalanche node status `clusterName` --subnet `subnetName` -**Usage:** `avalanche node update subnet [subcommand] [flags]` +**Usage:** +```bash +avalanche node update subnet [subcommand] [flags] +``` **Flags:** @@ -2165,7 +2627,10 @@ their avalanchego or VM version. You can check the status after upgrade by calling avalanche node status -**Usage:** `avalanche node upgrade [subcommand] [flags]` +**Usage:** +```bash +avalanche node upgrade [subcommand] [flags] +``` **Flags:** @@ -2185,7 +2650,10 @@ the Primary Network and Subnets as validators. If any of the commands is run before the nodes are bootstrapped on the Primary Network, the command will fail. You can check the bootstrap status by calling avalanche node status `clusterName` -**Usage:** `avalanche node validate [subcommand] [flags]` +**Usage:** +```bash +avalanche node validate [subcommand] [flags] +``` **Flags:** @@ -2219,7 +2687,10 @@ You can check the subnet sync status by calling avalanche node status `clusterNa The node validate primary command enables all nodes in a cluster to be validators of Primary Network. -**Usage:** `avalanche node validate primary [subcommand] [flags]` +**Usage:** +```bash +avalanche node validate primary [subcommand] [flags] +``` **Flags:** @@ -2249,7 +2720,10 @@ You can check the bootstrap status by calling avalanche node status `clusterName If The command is run before the nodes are synced to the subnet, the command will fail. You can check the subnet sync status by calling avalanche node status `clusterName` --subnet `subnetName` -**Usage:** `avalanche node validate subnet [subcommand] [flags]` +**Usage:** +```bash +avalanche node validate subnet [subcommand] [flags] +``` **Flags:** @@ -2279,7 +2753,10 @@ You can check the subnet sync status by calling avalanche node status `clusterNa It also command adds SSH public key to all nodes in the cluster if --ssh params is there. If no params provided it detects current user IP automaticaly and whitelists it -**Usage:** `avalanche node whitelist [subcommand] [flags]` +**Usage:** +```bash +avalanche node whitelist [subcommand] [flags] +``` **Flags:** @@ -2298,7 +2775,10 @@ You can check the subnet sync status by calling avalanche node status `clusterNa The primary command suite provides a collection of tools for interacting with the Primary Network -**Usage:** `avalanche primary [subcommand] [flags]` +**Usage:** +```bash +avalanche primary [subcommand] [flags] +``` **Flags:** @@ -2320,7 +2800,10 @@ in the Primary Network The primary addValidator command adds a node as a validator in the Primary Network -**Usage:** `avalanche primary addValidator [subcommand] [flags]` +**Usage:** +```bash +avalanche primary addValidator [subcommand] [flags] +``` **Flags:** @@ -2351,7 +2834,10 @@ in the Primary Network The subnet describe command prints details of the primary network configuration to the console. -**Usage:** `avalanche primary describe [subcommand] [flags]` +**Usage:** +```bash +avalanche primary describe [subcommand] [flags] +``` **Flags:** @@ -2376,7 +2862,10 @@ manage your Blockchain configurations and live deployments. Deprecation notice: use 'avalanche blockchain' -**Usage:** `avalanche subnet [subcommand] [flags]` +**Usage:** +```bash +avalanche subnet [subcommand] [flags] +``` **Flags:** @@ -2400,6 +2889,9 @@ these prompts by providing the values with flags. This command currently only works on Blockchains deployed to either the Fuji Testnet or Mainnet. - [`changeOwner`](#subnet-changeowner): The blockchain changeOwner changes the owner of the subnet of the deployed Blockchain. +- [`changeWeight`](#subnet-changeweight): The blockchain changeWeight command changes the weight of a Subnet Validator. + +The Subnet has to be a Proof of Authority Subnet-Only Validator Subnet. - [`configure`](#subnet-configure): AvalancheGo nodes support several different configuration files. Subnets have their own Subnet config which applies to all chains/VMs in the Subnet. Each chain within the Subnet can have its own chain config. A chain can also have special requirements for the AvalancheGo node @@ -2481,34 +2973,51 @@ these prompts by providing the values with flags. This command currently only works on Blockchains deployed to either the Fuji Testnet or Mainnet. -**Usage:** `avalanche subnet addValidator [subcommand] [flags]` +**Usage:** +```bash +avalanche subnet addValidator [subcommand] [flags] +``` **Flags:** | Flag | Description | | ---- | ----------- | -| `--cluster` | string operate on the given cluster | -| `--default-duration` | set duration so as to validate until primary validator ends its period | -| `--default-start-time` | use default start time for subnet validator (5 minutes later for fuji & mainnet, 30 seconds later for devnet) | -| `--default-validator-params` | use default weight/start/duration params for subnet validator | +| `--aggregator-extra-endpoints` | strings endpoints for extra nodes that are needed in signature aggregation | +| `--aggregator-log-level` | string log level to use with signature aggregator (default "Off") | +| `--balance` | uint set the AVAX balance of the validator that will be used for continuous fee to P-Chain | +| `--blockchain-genesis-key` | use genesis allocated key to pay fees for completing the validator's registration (blockchain gas token) | +| `--blockchain-key` | string CLI stored key to use to pay fees for completing the validator's registration (blockchain gas token) | +| `--blockchain-private-key` | string private key to use to pay fees for completing the validator's registration (blockchain gas token) | +| `--bls-proof-of-possession` | string set the BLS proof of possession of the validator to add | +| `--bls-public-key` | string set the BLS public key of the validator to add | +| `--cluster` | string operate on the given cluster | +| `--default-duration` | (for non sovereign blockchain) set duration so as to validate until primary validator ends its period | +| `--default-start-time` | (for non sovereign blockchain) use default start time for subnet validator (5 minutes later for fuji & mainnet, 30 seconds later for devnet) | +| `--default-validator-params` | (for non sovereign blockchain) use default weight/start/duration params for subnet validator | +| `--delegation-fee` | uint16 (PoS only) delegation fee (in bips) (default 100) | | `--devnet` | operate on a devnet network | -| `--endpoint` | string use the given endpoint for network operations | +| `--disable-owner` | string P-Chain address that will able to disable the validator with a P-Chain transaction | +| `--endpoint` | string use the given endpoint for network operations | | `-e, --ewoq` | use ewoq key [fuji/devnet only] | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | | `-h, --help` | help for addValidator | -| `-k, --key` | string select the key to use [fuji/devnet only] | +| `-k, --key` | string select the key to use [fuji/devnet only] | | `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) | -| `--ledger-addrs` | strings use the given ledger addresses | +| `--ledger-addrs` | strings use the given ledger addresses | | `-l, --local` | operate on a local network | | `-m, --mainnet` | operate on mainnet | -| `--nodeID` | string set the NodeID of the validator to add | -| `--output-tx-path` | string file path of the add validator tx | -| `--staking-period` | duration how long this validator will be staking | -| `--start-time` | string UTC start time when this validator starts validating, in 'YYYY-MM-DD HH:MM:SS' format | -| `--subnet-auth-keys` | strings control keys that will be used to authenticate add validator tx | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--wait-for-tx-acceptance` | just issue the add validator tx, without waiting for its acceptance (default true) | -| `--weight` | uint set the staking weight of the validator to add | +| `--node-endpoint` | string gather node id/bls from publicly available avalanchego apis on the given endpoint | +| `--node-id` | string node-id of the validator to add | +| `--output-tx-path` | string (for non sovereign blockchain) file path of the add validator tx | +| `--remaining-balance-owner` | string P-Chain address that will receive any leftover AVAX from the validator when it is removed from Subnet | +| `--rpc` | string connect to validator manager at the given rpc endpoint | +| `--stake-amount` | uint (PoS only) amount of tokens to stake | +| `--staking-period` | duration how long this validator will be staking | +| `--start-time` | string (for non sovereign blockchain) UTC start time when this validator starts validating, in 'YYYY-MM-DD HH:MM:SS' format | +| `--subnet-auth-keys` | strings (for non sovereign blockchain) control keys that will be used to authenticate add validator tx | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--wait-for-tx-acceptance` | (for non sovereign blockchain) just issue the add validator tx, without waiting for its acceptance (default true) | +| `--weight` | uint set the staking weight of the validator to add (default 20) | | `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | | `--log-level` | string log level for the application (default "ERROR") | | `--skip-update-check` | skip check for new versions | @@ -2517,7 +3026,10 @@ Testnet or Mainnet. The blockchain changeOwner changes the owner of the subnet of the deployed Blockchain. -**Usage:** `avalanche subnet changeOwner [subcommand] [flags]` +**Usage:** +```bash +avalanche subnet changeOwner [subcommand] [flags] +``` **Flags:** @@ -2544,6 +3056,39 @@ The blockchain changeOwner changes the owner of the subnet of the deployed Block | `--log-level` | string log level for the application (default "ERROR") | | `--skip-update-check` | skip check for new versions | +### changeWeight + +The blockchain changeWeight command changes the weight of a Subnet Validator. + +The Subnet has to be a Proof of Authority Subnet-Only Validator Subnet. + +**Usage:** +```bash +avalanche subnet changeWeight [subcommand] [flags] +``` + +**Flags:** + +| Flag | Description | +| ---- | ----------- | +| `--cluster` | string operate on the given cluster | +| `--devnet` | operate on a devnet network | +| `--endpoint` | string use the given endpoint for network operations | +| `-e, --ewoq` | use ewoq key [fuji/devnet only] | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `-h, --help` | help for changeWeight | +| `-k, --key` | string select the key to use [fuji/devnet only] | +| `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) | +| `--ledger-addrs` | strings use the given ledger addresses | +| `-l, --local` | operate on a local network | +| `-m, --mainnet` | operate on mainnet | +| `--node-id` | string node-id of the validator | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--weight` | uint set the new staking weight of the validator (default 20) | +| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | +| `--log-level` | string log level for the application (default "ERROR") | +| `--skip-update-check` | skip check for new versions | + ### configure AvalancheGo nodes support several different configuration files. Subnets have their own @@ -2551,7 +3096,10 @@ Subnet config which applies to all chains/VMs in the Subnet. Each chain within t can have its own chain config. A chain can also have special requirements for the AvalancheGo node configuration itself. This command allows you to set all those files. -**Usage:** `avalanche subnet configure [subcommand] [flags]` +**Usage:** +```bash +avalanche subnet configure [subcommand] [flags] +``` **Flags:** @@ -2580,34 +3128,44 @@ By default, running the command with a blockchainName that already exists causes the command to fail. If you'd like to overwrite an existing configuration, pass the -f flag. -**Usage:** `avalanche subnet create [subcommand] [flags]` +**Usage:** +```bash +avalanche subnet create [subcommand] [flags] +``` **Flags:** | Flag | Description | | ---- | ----------- | | `--custom` | use a custom VM template | -| `--custom-vm-branch` | string custom vm branch or commit | -| `--custom-vm-build-script` | string custom vm build-script | -| `--custom-vm-path` | string file path of custom vm to use | -| `--custom-vm-repo-url` | string custom vm repository url | -| `--debug` | enable blockchain debugging | +| `--custom-vm-branch` | string custom vm branch or commit | +| `--custom-vm-build-script` | string custom vm build-script | +| `--custom-vm-path` | string file path of custom vm to use | +| `--custom-vm-repo-url` | string custom vm repository url | +| `--debug` | enable blockchain debugging (default true) | | `--evm` | use the Subnet-EVM as the base template | -| `--evm-chain-id` | uint chain ID to use with Subnet-EVM | +| `--evm-chain-id` | uint chain ID to use with Subnet-EVM | | `--evm-defaults` | deprecation notice: use '--production-defaults' | -| `--evm-token` | string token symbol to use with Subnet-EVM | +| `--evm-token` | string token symbol to use with Subnet-EVM | | `--external-gas-token` | use a gas token from another blockchain | | `-f, --force` | overwrite the existing configuration if one exists | | `--from-github-repo` | generate custom VM binary from github repository | -| `--genesis` | string file path of genesis to use | +| `--genesis` | string file path of genesis to use | | `-h, --help` | help for create | +| `--icm-registry-at-genesis` | setup ICM registry smart contract on genesis [experimental] | | `--latest` | use latest Subnet-EVM released version, takes precedence over --vm-version | | `--pre-release` | use latest Subnet-EVM pre-released version, takes precedence over --vm-version | | `--production-defaults` | use default production settings for your blockchain | +| `--proof-of-authority` | use proof of authority(PoA) for validator management | +| `--proof-of-stake` | use proof of stake(PoS) for validator management | +| `--proxy-contract-owner` | string EVM address that controls ProxyAdmin for TransparentProxy of ValidatorManager contract | +| `--reward-basis-points` | uint (PoS only) reward basis points for PoS Reward Calculator (default 100) | +| `--sovereign` | set to false if creating non-sovereign blockchain (default true) | | `--teleporter` | interoperate with other blockchains using teleporter | | `--test-defaults` | use default test settings for your blockchain | -| `--vm` | string file path of custom vm to use. alias to custom-vm-path | -| `--vm-version` | string version of Subnet-EVM template to use | +| `--validator-manager-owner` | string EVM address that controls Validator Manager Owner | +| `--vm` | string file path of custom vm to use. alias to custom-vm-path | +| `--vm-version` | string version of Subnet-EVM template to use | | `--warp` | generate a vm with warp support (needed for teleporter) (default true) | | `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | | `--log-level` | string log level for the application (default "ERROR") | @@ -2617,7 +3175,10 @@ configuration, pass the -f flag. The blockchain delete command deletes an existing blockchain configuration. -**Usage:** `avalanche subnet delete [subcommand] [flags]` +**Usage:** +```bash +avalanche subnet delete [subcommand] [flags] +``` **Flags:** @@ -2641,20 +3202,34 @@ avalanche network clean to reset all deployed chain state. Subsequent local depl redeploy the chain with fresh state. You can deploy the same Blockchain to multiple networks, so you can take your locally tested Subnet and deploy it on Fuji or Mainnet. -**Usage:** `avalanche subnet deploy [subcommand] [flags]` +**Usage:** +```bash +avalanche subnet deploy [subcommand] [flags] +``` **Flags:** | Flag | Description | | ---- | ----------- | +| `--aggregator-extra-endpoints` | strings endpoints for extra nodes that are needed in signature aggregation | +| `--aggregator-log-level` | string log level to use with signature aggregator (default "Off") | | `--avalanchego-path` | string use this avalanchego binary path | | `--avalanchego-version` | string use this version of avalanchego (ex: v1.17.12) (default "latest") | +| `--blockchain-genesis-key` | use genesis allocated key to fund validator manager initialization | +| `--blockchain-key` | string CLI stored key to use to fund validator manager initialization | +| `--blockchain-private-key` | string private key to use to fund validator manager initialization | +| `--bootstrap-endpoints` | strings take validator node info from the given endpoints | +| `--bootstrap-filepath` | string JSON file path that provides details about bootstrap validators, leave Node-ID and BLS values empty if using --generate-node-id=true | +| `--change-owner-address` | string address that will receive change if node is no longer L1 validator | | `--cluster` | string operate on the given cluster | | `--control-keys` | strings addresses that may make subnet changes | +| `--convert-only` | avoid node track, restart and poa manager setup | | `--devnet` | operate on a devnet network | | `--endpoint` | string use the given endpoint for network operations | +| `--etna-devnet` | operate on an etna devnet network | | `-e, --ewoq` | use ewoq key [fuji/devnet deploy only] | | `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `--generate-node-id` | whether to create new node id for bootstrap validators (Node-ID and BLS values in bootstrap JSON file will be overridden if --bootstrap-filepath flag is used) | | `-h, --help` | help for deploy | | `-k, --key` | string select the key to use [fuji/devnet deploy only] | | `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) | @@ -2662,7 +3237,17 @@ so you can take your locally tested Subnet and deploy it on Fuji or Mainnet. | `-l, --local` | operate on a local network | | `-m, --mainnet` | operate on mainnet | | `--mainnet-chain-id` | uint32 use different ChainID for mainnet deployment | +| `--num-bootstrap-validators` | int (only if --generate-node-id is true) number of bootstrap validators to set up in sovereign L1 validator) | +| `--num-local-nodes` | int number of nodes to be created on local machine (default 5) | | `--output-tx-path` | string file path of the blockchain creation tx | +| `--partial-sync` | set primary network partial sync for new validators (default true) | +| `--pos-maximum-stake-amount` | uint maximum stake amount (default 1000) | +| `--pos-maximum-stake-multiplier` | uint8 maximum stake multiplier (default 1) | +| `--pos-minimum-delegation-fee` | uint16 minimum delegation fee (default 1) | +| `--pos-minimum-stake-amount` | uint minimum stake amount (default 1) | +| `--pos-minimum-stake-duration` | uint minimum stake duration (default 100) | +| `--pos-weight-to-value-factor` | uint weight to value factor (default 1) | +| `--relayer-version` | string relayer version to deploy (default "latest") | | `-s, --same-control-key` | use the fee-paying key as control key | | `--skip-local-teleporter` | skip automatic teleporter deploy on local networks [to be deprecated] | | `--skip-relayer` | skip relayer deploy | @@ -2677,6 +3262,7 @@ so you can take your locally tested Subnet and deploy it on Fuji or Mainnet. | `--teleporter-version` | string teleporter version to deploy (default "latest") | | `-t, --testnet` | fuji operate on testnet (alias to fuji) | | `--threshold` | uint32 required number of control key signatures to make subnet changes | +| `--use-local-machine` | use local machine as a blockchain validator | | `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | | `--log-level` | string log level for the application (default "ERROR") | | `--skip-update-check` | skip check for new versions | @@ -2687,7 +3273,10 @@ The blockchain describe command prints the details of a Blockchain configuration By default, the command prints a summary of the configuration. By providing the --genesis flag, the command instead prints out the raw genesis file. -**Usage:** `avalanche subnet describe [subcommand] [flags]` +**Usage:** +```bash +avalanche subnet describe [subcommand] [flags] +``` **Flags:** @@ -2706,7 +3295,10 @@ The blockchain export command write the details of an existing Blockchain deploy The command prompts for an output path. You can also provide one with the --output flag. -**Usage:** `avalanche subnet export [subcommand] [flags]` +**Usage:** +```bash +avalanche subnet export [subcommand] [flags] +``` **Flags:** @@ -2729,7 +3321,10 @@ This command suite supports importing from a file created on another computer, or importing from blockchains running public networks (e.g. created manually or with the deprecated subnet-cli) -**Usage:** `avalanche subnet import [subcommand] [flags]` +**Usage:** +```bash +avalanche subnet import [subcommand] [flags] +``` **Flags:** @@ -2765,7 +3360,10 @@ To import from a repository, go through the wizard. By default, an imported Bloc overwrite an existing Blockchain with the same name. To allow overwrites, provide the --force flag. -**Usage:** `avalanche subnet import file [subcommand] [flags]` +**Usage:** +```bash +avalanche subnet import file [subcommand] [flags] +``` **Flags:** @@ -2788,7 +3386,10 @@ By default, an imported Blockchain doesn't overwrite an existing Blockchain with the same name. To allow overwrites, provide the --force flag. -**Usage:** `avalanche subnet import public [subcommand] [flags]` +**Usage:** +```bash +avalanche subnet import public [subcommand] [flags] +``` **Flags:** @@ -2828,7 +3429,10 @@ at that path. This command currently only supports Blockchains deployed on the Fuji Testnet and Mainnet. -**Usage:** `avalanche subnet join [subcommand] [flags]` +**Usage:** +```bash +avalanche subnet join [subcommand] [flags] +``` **Flags:** @@ -2847,7 +3451,7 @@ This command currently only supports Blockchains deployed on the Fuji Testnet an | `--ledger-addrs` | strings use the given ledger addresses | | `-l, --local` | operate on a local network | | `-m, --mainnet` | operate on mainnet | -| `--nodeID` | string set the NodeID of the validator to check | +| `--node-id` | string set the NodeID of the validator to check | | `--plugin-dir` | string file path of avalanchego's plugin directory | | `--print` | if true, print the manual config without prompting | | `--stake-amount` | uint amount of tokens to stake on validator | @@ -2864,7 +3468,10 @@ The blockchain list command prints the names of all created Blockchain configura it prints some general, static information about the Blockchain. With the --deployed flag, the command shows additional information including the VMID, BlockchainID and SubnetID. -**Usage:** `avalanche subnet list [subcommand] [flags]` +**Usage:** +```bash +avalanche subnet list [subcommand] [flags] +``` **Flags:** @@ -2880,7 +3487,10 @@ shows additional information including the VMID, BlockchainID and SubnetID. The blockchain publish command publishes the Blockchain's VM to a repository. -**Usage:** `avalanche subnet publish [subcommand] [flags]` +**Usage:** +```bash +avalanche subnet publish [subcommand] [flags] +``` **Flags:** @@ -2905,26 +3515,36 @@ validating your deployed Blockchain. To remove the validator from the Subnet's allow list, provide the validator's unique NodeID. You can bypass these prompts by providing the values with flags. -**Usage:** `avalanche subnet removeValidator [subcommand] [flags]` +**Usage:** +```bash +avalanche subnet removeValidator [subcommand] [flags] +``` **Flags:** | Flag | Description | | ---- | ----------- | -| `--cluster` | string operate on the given cluster | +| `--aggregator-extra-endpoints` | strings endpoints for extra nodes that are needed in signature aggregation | +| `--aggregator-log-level` | string log level to use with signature aggregator (default "Off") | +| `--blockchain-genesis-key` | use genesis allocated key to pay fees for completing the validator's removal (blockchain gas token) | +| `--blockchain-key` | string CLI stored key to use to pay fees for completing the validator's removal (blockchain gas token) | +| `--blockchain-private-key` | string private key to use to pay fees for completing the validator's removal (blockchain gas token) | +| `--cluster` | string operate on the given cluster | | `--devnet` | operate on a devnet network | -| `--endpoint` | string use the given endpoint for network operations | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | +| `--endpoint` | string use the given endpoint for network operations | +| `-f, --fuji` | testnet operate on fuji (alias to testnet | | `-h, --help` | help for removeValidator | -| `-k, --key` | string select the key to use [fuji deploy only] | +| `-k, --key` | string select the key to use [fuji deploy only] | | `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji) | -| `--ledger-addrs` | strings use the given ledger addresses | +| `--ledger-addrs` | strings use the given ledger addresses | | `-l, --local` | operate on a local network | | `-m, --mainnet` | operate on mainnet | -| `--nodeID` | string set the NodeID of the validator to remove | -| `--output-tx-path` | string file path of the removeValidator tx | -| `--subnet-auth-keys` | strings control keys that will be used to authenticate the removeValidator tx | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | +| `--node-endpoint` | string remove validator that responds to the given endpoint | +| `--node-id` | string node-id of the validator | +| `--output-tx-path` | string (for non-SOV blockchain only) file path of the removeValidator tx | +| `--rpc` | string connect to validator manager at the given rpc endpoint | +| `--subnet-auth-keys` | strings (for non-SOV blockchain only) control keys that will be used to authenticate the removeValidator tx | +| `-t, --testnet` | fuji operate on testnet (alias to fuji) | | `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | | `--log-level` | string log level for the application (default "ERROR") | | `--skip-update-check` | skip check for new versions | @@ -2933,7 +3553,10 @@ these prompts by providing the values with flags. The blockchain stats command prints validator statistics for the given Blockchain. -**Usage:** `avalanche subnet stats [subcommand] [flags]` +**Usage:** +```bash +avalanche subnet stats [subcommand] [flags] +``` **Flags:** @@ -2956,7 +3579,10 @@ The blockchain stats command prints validator statistics for the given Blockchai The blockchain upgrade command suite provides a collection of tools for updating your developmental and deployed Blockchains. -**Usage:** `avalanche subnet upgrade [subcommand] [flags]` +**Usage:** +```bash +avalanche subnet upgrade [subcommand] [flags] +``` **Flags:** @@ -3005,7 +3631,10 @@ After you update your validator's configuration, you need to restart your valida If you provide the --avalanchego-chain-config-dir flag, this command attempts to write the upgrade file at that path. Refer to https://docs.avax.network/nodes/maintain/chain-config-flags#subnet-chain-configs for related documentation. -**Usage:** `avalanche subnet upgrade apply [subcommand] [flags]` +**Usage:** +```bash +avalanche subnet upgrade apply [subcommand] [flags] +``` **Flags:** @@ -3027,7 +3656,10 @@ Refer to https://docs.avax.network/nodes/maintain/chain-config-flags#subnet-chai Export the upgrade bytes file to a location of choice on disk -**Usage:** `avalanche subnet upgrade export [subcommand] [flags]` +**Usage:** +```bash +avalanche subnet upgrade export [subcommand] [flags] +``` **Flags:** @@ -3045,7 +3677,10 @@ Export the upgrade bytes file to a location of choice on disk The blockchain upgrade generate command builds a new upgrade.json file to customize your Blockchain. It guides the user through the process using an interactive wizard. -**Usage:** `avalanche subnet upgrade generate [subcommand] [flags]` +**Usage:** +```bash +avalanche subnet upgrade generate [subcommand] [flags] +``` **Flags:** @@ -3060,7 +3695,10 @@ guides the user through the process using an interactive wizard. Import the upgrade bytes file into the local environment -**Usage:** `avalanche subnet upgrade import [subcommand] [flags]` +**Usage:** +```bash +avalanche subnet upgrade import [subcommand] [flags] +``` **Flags:** @@ -3076,7 +3714,10 @@ Import the upgrade bytes file into the local environment Print the upgrade.json file content -**Usage:** `avalanche subnet upgrade print [subcommand] [flags]` +**Usage:** +```bash +avalanche subnet upgrade print [subcommand] [flags] +``` **Flags:** @@ -3095,7 +3736,10 @@ can upgrade both local Blockchains and publicly deployed Blockchains on Fuji and The command walks the user through an interactive wizard. The user can skip the wizard by providing command line flags. -**Usage:** `avalanche subnet upgrade vm [subcommand] [flags]` +**Usage:** +```bash +avalanche subnet upgrade vm [subcommand] [flags] +``` **Flags:** @@ -3120,7 +3764,10 @@ command line flags. The blockchain validators command lists the validators of a blockchain's subnet and provides several statistics about them. -**Usage:** `avalanche subnet validators [subcommand] [flags]` +**Usage:** +```bash +avalanche subnet validators [subcommand] [flags] +``` **Flags:** @@ -3142,7 +3789,10 @@ several statistics about them. The blockchain vmid command prints the virtual machine ID (VMID) for the given Blockchain. -**Usage:** `avalanche subnet vmid [subcommand] [flags]` +**Usage:** +```bash +avalanche subnet vmid [subcommand] [flags] +``` **Flags:** @@ -3158,7 +3808,10 @@ The blockchain vmid command prints the virtual machine ID (VMID) for the given B The teleporter command suite provides a collection of tools for interacting with Teleporter-Enabled Subnets. -**Usage:** `avalanche teleporter [subcommand] [flags]` +**Usage:** +```bash +avalanche teleporter [subcommand] [flags] +``` **Flags:** @@ -3185,7 +3838,10 @@ The bridge command suite provides tools to deploy and manage Teleporter Bridges. Deprecation notice: use avalanche interchain tokenTransferrer' instead -**Usage:** `avalanche teleporter bridge [subcommand] [flags]` +**Usage:** +```bash +avalanche teleporter bridge [subcommand] [flags] +``` **Flags:** @@ -3208,7 +3864,10 @@ Deploys Token Bridge into a given Network and Subnets Deprecation notice: use 'avalanche interchain tokenTransferrer deploy -**Usage:** `avalanche teleporter bridge deploy [subcommand] [flags]` +**Usage:** +```bash +avalanche teleporter bridge deploy [subcommand] [flags] +``` **Flags:** @@ -3248,7 +3907,10 @@ Deprecation notice: use 'avalanche interchain tokenTransferrer deploy Deploys Teleporter into a given Network and Subnet. -**Usage:** `avalanche teleporter deploy [subcommand] [flags]` +**Usage:** +```bash +avalanche teleporter deploy [subcommand] [flags] +``` **Flags:** @@ -3262,6 +3924,7 @@ Deploys Teleporter into a given Network and Subnet. | `--deploy-registry` | deploy Teleporter Registry (default true) | | `--devnet` | operate on a devnet network | | `--endpoint` | string use the given endpoint for network operations | +| `--force-registry-deploy` | deploy Teleporter Registry even if Messenger has already been deployed | | `-f, --fuji` | testnet operate on fuji (alias to testnet | | `--genesis-key` | use genesis allocated key to fund ICM deploy | | `-h, --help` | help for deploy | @@ -3273,7 +3936,6 @@ Deploys Teleporter into a given Network and Subnet. | `--private-key` | string private key to use to fund ICM deploy | | `--registry-bytecode-path` | string path to a registry bytecode file | | `--rpc-url` | string use the given RPC URL to connect to the subnet | -| `--subnet` | string deploy ICM into the given CLI blockchain | | `-t, --testnet` | fuji operate on testnet (alias to fuji) | | `--version` | string version to deploy (default "latest") | | `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | @@ -3284,7 +3946,10 @@ Deploys Teleporter into a given Network and Subnet. Sends and wait reception for a teleporter msg between two subnets (Currently only for local network). -**Usage:** `avalanche teleporter msg [subcommand] [flags]` +**Usage:** +```bash +avalanche teleporter msg [subcommand] [flags] +``` **Flags:** @@ -3313,7 +3978,10 @@ Sends and wait reception for a teleporter msg between two subnets (Currently onl The relayer command suite provides a collection of tools for deploying and configuring an ICM relayers. -**Usage:** `avalanche teleporter relayer [subcommand] [flags]` +**Usage:** +```bash +avalanche teleporter relayer [subcommand] [flags] +``` **Flags:** @@ -3335,7 +4003,10 @@ and configuring an ICM relayers. Deploys an ICM Relayer for the given Network. -**Usage:** `avalanche teleporter relayer deploy [subcommand] [flags]` +**Usage:** +```bash +avalanche teleporter relayer deploy [subcommand] [flags] +``` **Flags:** @@ -3357,7 +4028,10 @@ Deploys an ICM Relayer for the given Network. Shows pretty formatted AWM relayer logs -**Usage:** `avalanche teleporter relayer logs [subcommand] [flags]` +**Usage:** +```bash +avalanche teleporter relayer logs [subcommand] [flags] +``` **Flags:** @@ -3379,7 +4053,10 @@ Shows pretty formatted AWM relayer logs Starts AWM relayer on the specified network (Currently only for local network). -**Usage:** `avalanche teleporter relayer start [subcommand] [flags]` +**Usage:** +```bash +avalanche teleporter relayer start [subcommand] [flags] +``` **Flags:** @@ -3399,7 +4076,10 @@ Starts AWM relayer on the specified network (Currently only for local network). Stops AWM relayer on the specified network (Currently only for local network, cluster). -**Usage:** `avalanche teleporter relayer stop [subcommand] [flags]` +**Usage:** +```bash +avalanche teleporter relayer stop [subcommand] [flags] +``` **Flags:** @@ -3419,7 +4099,10 @@ Stops AWM relayer on the specified network (Currently only for local network, cl The transaction command suite provides all of the utilities required to sign multisig transactions. -**Usage:** `avalanche transaction [subcommand] [flags]` +**Usage:** +```bash +avalanche transaction [subcommand] [flags] +``` **Flags:** @@ -3439,7 +4122,10 @@ The transaction command suite provides all of the utilities required to sign mul The transaction commit command commits a transaction by submitting it to the P-Chain. -**Usage:** `avalanche transaction commit [subcommand] [flags]` +**Usage:** +```bash +avalanche transaction commit [subcommand] [flags] +``` **Flags:** @@ -3455,7 +4141,10 @@ The transaction commit command commits a transaction by submitting it to the P-C The transaction sign command signs a multisig transaction. -**Usage:** `avalanche transaction sign [subcommand] [flags]` +**Usage:** +```bash +avalanche transaction sign [subcommand] [flags] +``` **Flags:** @@ -3474,7 +4163,10 @@ The transaction sign command signs a multisig transaction. Check if an update is available, and prompt the user to install it -**Usage:** `avalanche update [subcommand] [flags]` +**Usage:** +```bash +avalanche update [subcommand] [flags] +``` **Flags:** From 062deb55de49aa40e36d03cbe59ac01868e71775 Mon Sep 17 00:00:00 2001 From: owenwahlgren Date: Thu, 21 Nov 2024 13:38:09 -0500 Subject: [PATCH 10/13] nit --- content/docs/tooling/avalanche-cli.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/tooling/avalanche-cli.mdx b/content/docs/tooling/avalanche-cli.mdx index 46162b86c85..34f3ddd724b 100644 --- a/content/docs/tooling/avalanche-cli.mdx +++ b/content/docs/tooling/avalanche-cli.mdx @@ -1,6 +1,6 @@ --- title: Introduction -description: Avalanche-CLI is a command-line tool that gives developers access to everything Avalanche. This release specializes in helping developers build and test Subnets. +description: Avalanche-CLI is a command-line tool that gives developers access to everything Avalanche. --- To get started, look at the documentation for the subcommands or jump right in with `avalanche blockchain create myblockchain`. From d8677d3aa57b605f723f380ca4f342a1e042067e Mon Sep 17 00:00:00 2001 From: owenwahlgren Date: Thu, 21 Nov 2024 13:42:26 -0500 Subject: [PATCH 11/13] add-validator nit --- .../deploy-a-avalanche-l1/fuji-testnet.mdx | 162 +++++++++--------- .../maintain/add-validator-l1.mdx | 2 +- 2 files changed, 80 insertions(+), 84 deletions(-) diff --git a/content/docs/avalanche-l1s/deploy-a-avalanche-l1/fuji-testnet.mdx b/content/docs/avalanche-l1s/deploy-a-avalanche-l1/fuji-testnet.mdx index 1bbfe9245be..676cb0918d3 100644 --- a/content/docs/avalanche-l1s/deploy-a-avalanche-l1/fuji-testnet.mdx +++ b/content/docs/avalanche-l1s/deploy-a-avalanche-l1/fuji-testnet.mdx @@ -193,7 +193,30 @@ Use the arrow keys to navigate: ↓ ↑ → ← Custom ``` -As you want to create an EVM Avalanche L1, just accept the default `Subnet-EVM`. Next, CLI asks for the ChainID. You should provide your own ID. Check [chainlist.org](https://chainlist.org/) to see if the value you'd like is already in use. +As you want to create an EVM Avalanche L1, just accept the default `Subnet-EVM`. + +Choose either Proof of Authority (PoA) or Proof of Stake (PoS) as your consensus mechanism. + +```bash +? Which validator management type would you like to use in your blockchain?: + ▸ Proof Of Authority + Proof Of Stake + Explain the difference +``` +For this tutorial, select `Proof of Authority (PoA)`. + +For more info, reference the [Validator Management Contracts](/evm-l1s/validator-manager/contract). + +```bash +Which address do you want to enable as controller of ValidatorManager contract?: + ▸ Get address from an existing stored key (created from avalanche key create or avalanche key import) + Custom +``` +This address will be able to add and remove validators from your Avalanche L1. You can either use an existing key or create a new one. +In addition to being the PoA owner, this address will also be the owner of the `ProxyAdmin` contract of the Validator Manager's `TransparentUpgradeableProxy`. This address will be able to upgrade (PoA -> PoS) the Validator Manager implementation through updating the proxy. + + + Next, CLI asks for the ChainID. You should provide your own ID. Check [chainlist.org](https://chainlist.org/) to see if the value you'd like is already in use. ```bash ✔ Subnet-EVM @@ -262,84 +285,57 @@ Print the specification to disk by running the `describe` command: ```bash avalanche blockchain describe testblockchain - _____ _ _ _ -| __ \ | | (_) | -| | | | ___| |_ __ _ _| |___ -| | | |/ _ \ __/ _ | | / __| -| |__| | __/ || (_| | | \__ \ -|_____/ \___|\__\__,_|_|_|___/ -+----------------------------+----------------------------------------------------+ -| PARAMETER | VALUE | -+----------------------------+----------------------------------------------------+ -| Blockchain Name | testblockchain | -+----------------------------+----------------------------------------------------+ -| ChainID | 3333 | -+----------------------------+----------------------------------------------------+ -| Token Name | TST | -+----------------------------+----------------------------------------------------+ -| VM ID | tGBrM2SXkAdNsqzb3SaFZZWMNdzjjFEUKteheTa4dhUwnfQyu | -+----------------------------+----------------------------------------------------+ -| Fuji SubnetID | XTK7AM2Pw5A4cCtQ3rTugqbeLCU9mVixML3YwwLYUJ4WXN2Kt | -+----------------------------+----------------------------------------------------+ -| Fuji BlockchainID | 5ce2WhnyeMELzg9UtfpCDGNwRa2AzMzRhBWfTqmFuiXPWE4TR | -+----------------------------+----------------------------------------------------+ -| Local Network SubnetID | 2CZP2ndbQnZxTzGuZjPrJAm5b4s2K2Bcjh8NqWoymi8NZMLYQk | -+----------------------------+----------------------------------------------------+ -| Local Network BlockchainID | oaCmwvn8FDuv8QjeTozGpHeczk1Kv2651j2jhm6sR1nraGwVW | -+----------------------------+----------------------------------------------------+ - - _____ _____ __ _ - / ____| / ____| / _(_) -| | __ __ _ ___ | | ___ _ __ | |_ _ __ _ -| | |_ |/ _ / __| | | / _ \| '_ \| _| |/ _ | -| |__| | (_| \__ \ | |___| (_) | | | | | | | (_| | - \_____|\__,_|___/ \_____\___/|_| |_|_| |_|\__, | - __/ | - |___/ -+--------------------------+-------------+ -| GAS PARAMETER | VALUE | -+--------------------------+-------------+ -| GasLimit | 15000000 | -+--------------------------+-------------+ -| MinBaseFee | 25000000000 | -+--------------------------+-------------+ -| TargetGas (per 10s) | 20000000 | -+--------------------------+-------------+ -| BaseFeeChangeDenominator | 36 | -+--------------------------+-------------+ -| MinBlockGasCost | 0 | -+--------------------------+-------------+ -| MaxBlockGasCost | 1000000 | -+--------------------------+-------------+ -| TargetBlockRate | 2 | -+--------------------------+-------------+ -| BlockGasCostStep | 200000 | -+--------------------------+-------------+ - - _ _ - /\ (_) | | - / \ _ _ __ __| |_ __ ___ _ __ - / /\ \ | | '__/ _ | '__/ _ \| '_ \ - / ____ \| | | | (_| | | | (_) | |_) | -/_/ \_\_|_| \__,_|_| \___/| .__/ - | | - |_| -+--------------------------------------------+------------------------+---------------------------+ -| ADDRESS | AIRDROP AMOUNT (10^18) | AIRDROP AMOUNT (WEI) | -+--------------------------------------------+------------------------+---------------------------+ -| 0x8db97C7cEcE249c2b98bDC0226Cc4C2A57BF52FC | 1000000 | 1000000000000000000000000 | -+--------------------------------------------+------------------------+---------------------------+ - - - _____ _ _ - | __ \ (_) | - | |__) | __ ___ ___ ___ _ __ ___ _ __ _| | ___ ___ - | ___/ '__/ _ \/ __/ _ \| '_ _ \| '_ \| | |/ _ \/ __| - | | | | | __/ (_| (_) | | | | | | |_) | | | __/\__ \ - |_| |_| \___|\___\___/|_| |_| |_| .__/|_|_|\___||___/ - | | - |_| -No precompiles set +``` +```bash ++------------------------------------------------------------------+ +| TESTBLOCKCHAIN | ++------------+-----------------------------------------------------+ +| Name | testblockchain | ++------------+-----------------------------------------------------+ +| VM ID | tGBrM94jbkesczgqsL1UaxjrdxRQQobs3MZTNQ4GrfhzvpiE8 | ++------------+-----------------------------------------------------+ +| VM Version | v0.6.12 | ++------------+-----------------------------------------------------+ +| Validation | Proof Of Authority | ++------------+-----------------------------------------------------+ + ++--------------------------+ +| TOKEN | ++--------------+-----------+ +| Token Name | TST Token | ++--------------+-----------+ +| Token Symbol | TST | ++--------------+-----------+ + ++-----------------------------------------------------------------------------------------------------------------------------------+ +| INITIAL TOKEN ALLOCATION | ++---------------------+------------------------------------------------------------------+--------------+---------------------------+ +| DESCRIPTION | ADDRESS AND PRIVATE KEY | AMOUNT (TST) | AMOUNT (WEI) | ++---------------------+------------------------------------------------------------------+--------------+---------------------------+ +| Main funded account | 0x8db97C7cEcE249c2b98bDC0226Cc4C2A57BF52FC | 1000000 | 1000000000000000000000000 | +| ewoq | 56289e99c94b6912bfc12adc093c9b51124f0dc54ac7a766b2bc5ccf558d8027 | | | ++---------------------+------------------------------------------------------------------+--------------+---------------------------+ + ++-----------------------------------------------------------------------------------------------------------------+ +| SMART CONTRACTS | ++-----------------------+--------------------------------------------+--------------------------------------------+ +| DESCRIPTION | ADDRESS | DEPLOYER | ++-----------------------+--------------------------------------------+--------------------------------------------+ +| Proxy Admin | 0xC0fFEE1234567890aBCdeF1234567890abcDef34 | 0x8db97C7cEcE249c2b98bDC0226Cc4C2A57BF52FC | ++-----------------------+--------------------------------------------+--------------------------------------------+ +| PoA Validator Manager | 0x0C0DEbA5E0000000000000000000000000000000 | | ++-----------------------+--------------------------------------------+--------------------------------------------+ +| Transparent Proxy | 0x0Feedc0de0000000000000000000000000000000 | | ++-----------------------+--------------------------------------------+--------------------------------------------+ + ++----------------------------------------------------------------------+ +| INITIAL PRECOMPILE CONFIGS | ++------------+-----------------+-------------------+-------------------+ +| PRECOMPILE | ADMIN ADDRESSES | MANAGER ADDRESSES | ENABLED ADDRESSES | ++------------+-----------------+-------------------+-------------------+ +| Warp | n/a | n/a | n/a | ++------------+-----------------+-------------------+-------------------+ + ``` Also you can list the available Avalanche L1s: @@ -350,7 +346,7 @@ go run main.go subnet list +-------------+-------------+----------+---------------------------------------------------+------------+-----------+ | Avalanche L1 | CHAIN | CHAIN ID | VM ID | TYPE | FROM REPO | +-------------+-------------+----------+---------------------------------------------------+------------+-----------+ -| testblockchain | testblockchain | 3333 | tGBrM2SXkAdNsqzb3SaFZZWMNdzjjFEUKteheTa4dhUwnfQyu | Subnet-EVM | false | +| testblockchain | testblockchain | 3333 | tGBrM94jbkesczgqsL1UaxjrdxRQQobs3MZTNQ4GrfhzvpiE8 | Subnet-EVM | false | +-------------+-------------+----------+---------------------------------------------------+------------+-----------+ ``` @@ -362,7 +358,7 @@ go run main.go subnet list --deployed +-------------+-------------+---------------------------------------------------+---------------+-----------------------------------------------------------------+---------+ | Avalanche L1 | CHAIN | VM ID | LOCAL NETWORK | FUJI (TESTNET) | MAINNET | +-------------+-------------+---------------------------------------------------+---------------+-----------------------------------------------------------------+---------+ -| testblockchain | testblockchain | tGBrM2SXkAdNsqzb3SaFZZWMNdzjjFEUKteheTa4dhUwnfQyu | Yes | SubnetID: XTK7AM2Pw5A4cCtQ3rTugqbeLCU9mVixML3YwwLYUJ4WXN2Kt | No | +| testblockchain | testblockchain | tGBrM94jbkesczgqsL1UaxjrdxRQQobs3MZTNQ4GrfhzvpiE8 | Yes | SubnetID: XTK7AM2Pw5A4cCtQ3rTugqbeLCU9mVixML3YwwLYUJ4WXN2Kt | No | + + + + +-----------------------------------------------------------------+---------+ | | | | | BlockchainID: 5ce2WhnyeMELzg9UtfpCDGNwRa2AzMzRhBWfTqmFuiXPWE4TR | No | +-------------+-------------+---------------------------------------------------+---------------+-----------------------------------------------------------------+---------+ @@ -462,13 +458,13 @@ Well done. You have just created your own Avalanche L1 with your own Subnet-EVM To get your new Avalanche L1 information, visit the [Avalanche L1 Explorer](https://subnets-test.avax.network/). The search best works by blockchain ID, so in this example, enter `2XDnKyAEr1RhhWpTpMXqrjeejN23vETmDykVzkb4PrU1fQjewh` into the search box and you should see your shiny new blockchain information. -Request to Join an Avalanche L1 as a Validator[​](#request-to-join-a-avalanche-l1-as-a-validator "Direct link to heading") +Join an Avalanche L1 as a Validator (LEGACY)[​](#request-to-join-a-avalanche-l1-as-a-validator "Direct link to heading") ------------------------------------------------------------------------------------------------------------- The new Avalanche L1 created in the previous steps doesn't have any dedicated validators yet. To request permission to validate an Avalanche L1, the following steps are required: -Before a node can be a validator on an Avalanche L1, the node is required to already be a validator on the primary network, which means that your node has **fully bootstrapped**. +Before a node can be a validator on an Avalanche L1, the node is required to already be tracking the P-Chain. If the validator is within 24 hours of expiring on the primary network, it can't be added to the Avalanche L1. diff --git a/content/docs/avalanche-l1s/maintain/add-validator-l1.mdx b/content/docs/avalanche-l1s/maintain/add-validator-l1.mdx index 994826a531c..a45dca285f5 100644 --- a/content/docs/avalanche-l1s/maintain/add-validator-l1.mdx +++ b/content/docs/avalanche-l1s/maintain/add-validator-l1.mdx @@ -7,7 +7,7 @@ description: Learn how to add a validator to an Avalanche L1. ### Add a Validator to an Avalanche L1 ```bash -avalanche blockchin addValidator +avalanche blockchain addValidator ``` #### Choose Network From 3c8c4d08ec2f275b4a68a15d7fcdaa0c2d25402c Mon Sep 17 00:00:00 2001 From: owenwahlgren Date: Thu, 21 Nov 2024 15:07:07 -0500 Subject: [PATCH 12/13] new avalanche-cli docs format --- content/docs/tooling/avalanche-cli.mdx | 3454 ++++++++++++------------ 1 file changed, 1729 insertions(+), 1725 deletions(-) diff --git a/content/docs/tooling/avalanche-cli.mdx b/content/docs/tooling/avalanche-cli.mdx index 34f3ddd724b..22b06317e9d 100644 --- a/content/docs/tooling/avalanche-cli.mdx +++ b/content/docs/tooling/avalanche-cli.mdx @@ -2,7 +2,11 @@ title: Introduction description: Avalanche-CLI is a command-line tool that gives developers access to everything Avalanche. --- -To get started, look at the documentation for the subcommands or jump right in with `avalanche blockchain create myblockchain`. +To get started, look at the documentation for the subcommands or jump right in with + +```bash +avalanche blockchain create myblockchain +``` ## avalanche blockchain @@ -21,16 +25,16 @@ avalanche blockchain [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for blockchain | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for blockchain +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` **Subcommands:** -- [`addValidator`](#blockchain-addvalidator): The blockchain addValidator command whitelists a primary network validator to +- [`addValidator`](#addvalidator): The blockchain addValidator command whitelists a primary network validator to validate the subnet of the provided deployed Blockchain. To add the validator to the Subnet's allow list, you first need to provide @@ -40,15 +44,15 @@ these prompts by providing the values with flags. This command currently only works on Blockchains deployed to either the Fuji Testnet or Mainnet. -- [`changeOwner`](#blockchain-changeowner): The blockchain changeOwner changes the owner of the subnet of the deployed Blockchain. -- [`changeWeight`](#blockchain-changeweight): The blockchain changeWeight command changes the weight of a Subnet Validator. +- [`changeOwner`](#changeowner): The blockchain changeOwner changes the owner of the subnet of the deployed Blockchain. +- [`changeWeight`](#changeweight): The blockchain changeWeight command changes the weight of a Subnet Validator. The Subnet has to be a Proof of Authority Subnet-Only Validator Subnet. -- [`configure`](#blockchain-configure): AvalancheGo nodes support several different configuration files. Subnets have their own +- [`configure`](#configure): AvalancheGo nodes support several different configuration files. Subnets have their own Subnet config which applies to all chains/VMs in the Subnet. Each chain within the Subnet can have its own chain config. A chain can also have special requirements for the AvalancheGo node configuration itself. This command allows you to set all those files. -- [`create`](#blockchain-create): The blockchain create command builds a new genesis file to configure your Blockchain. +- [`create`](#create): The blockchain create command builds a new genesis file to configure your Blockchain. By default, the command runs an interactive wizard. It walks you through all the steps you need to create your first Blockchain. @@ -59,8 +63,8 @@ the path to your genesis and VM binaries with the --genesis and --vm flags. By default, running the command with a blockchainName that already exists causes the command to fail. If you'd like to overwrite an existing configuration, pass the -f flag. -- [`delete`](#blockchain-delete): The blockchain delete command deletes an existing blockchain configuration. -- [`deploy`](#blockchain-deploy): The blockchain deploy command deploys your Blockchain configuration locally, to Fuji Testnet, or to Mainnet. +- [`delete`](#delete): The blockchain delete command deletes an existing blockchain configuration. +- [`deploy`](#deploy): The blockchain deploy command deploys your Blockchain configuration locally, to Fuji Testnet, or to Mainnet. At the end of the call, the command prints the RPC URL you can use to interact with the Subnet. @@ -70,19 +74,19 @@ allowed. If you'd like to redeploy a Blockchain locally for testing, you must fi avalanche network clean to reset all deployed chain state. Subsequent local deploys redeploy the chain with fresh state. You can deploy the same Blockchain to multiple networks, so you can take your locally tested Subnet and deploy it on Fuji or Mainnet. -- [`describe`](#blockchain-describe): The blockchain describe command prints the details of a Blockchain configuration to the console. +- [`describe`](#describe): The blockchain describe command prints the details of a Blockchain configuration to the console. By default, the command prints a summary of the configuration. By providing the --genesis flag, the command instead prints out the raw genesis file. -- [`export`](#blockchain-export): The blockchain export command write the details of an existing Blockchain deploy to a file. +- [`export`](#export): The blockchain export command write the details of an existing Blockchain deploy to a file. The command prompts for an output path. You can also provide one with the --output flag. -- [`import`](#blockchain-import): Import blockchain configurations into avalanche-cli. +- [`import`](#import): Import blockchain configurations into avalanche-cli. This command suite supports importing from a file created on another computer, or importing from blockchains running public networks (e.g. created manually or with the deprecated subnet-cli) -- [`join`](#blockchain-join): The subnet join command configures your validator node to begin validating a new Blockchain. +- [`join`](#join): The subnet join command configures your validator node to begin validating a new Blockchain. To complete this process, you must have access to the machine running your validator. If the CLI is running on the same machine as your validator, it can generate or update your node's @@ -96,21 +100,21 @@ you provide the --avalanchego-config flag, this command attempts to edit the con at that path. This command currently only supports Blockchains deployed on the Fuji Testnet and Mainnet. -- [`list`](#blockchain-list): The blockchain list command prints the names of all created Blockchain configurations. Without any flags, +- [`list`](#list): The blockchain list command prints the names of all created Blockchain configurations. Without any flags, it prints some general, static information about the Blockchain. With the --deployed flag, the command shows additional information including the VMID, BlockchainID and SubnetID. -- [`publish`](#blockchain-publish): The blockchain publish command publishes the Blockchain's VM to a repository. -- [`removeValidator`](#blockchain-removevalidator): The blockchain removeValidator command stops a whitelisted, subnet network validator from +- [`publish`](#publish): The blockchain publish command publishes the Blockchain's VM to a repository. +- [`removeValidator`](#removevalidator): The blockchain removeValidator command stops a whitelisted, subnet network validator from validating your deployed Blockchain. To remove the validator from the Subnet's allow list, provide the validator's unique NodeID. You can bypass these prompts by providing the values with flags. -- [`stats`](#blockchain-stats): The blockchain stats command prints validator statistics for the given Blockchain. -- [`upgrade`](#blockchain-upgrade): The blockchain upgrade command suite provides a collection of tools for +- [`stats`](#stats): The blockchain stats command prints validator statistics for the given Blockchain. +- [`upgrade`](#upgrade): The blockchain upgrade command suite provides a collection of tools for updating your developmental and deployed Blockchains. -- [`validators`](#blockchain-validators): The blockchain validators command lists the validators of a blockchain's subnet and provides +- [`validators`](#validators): The blockchain validators command lists the validators of a blockchain's subnet and provides several statistics about them. -- [`vmid`](#blockchain-vmid): The blockchain vmid command prints the virtual machine ID (VMID) for the given Blockchain. +- [`vmid`](#vmid): The blockchain vmid command prints the virtual machine ID (VMID) for the given Blockchain. ### addValidator @@ -132,47 +136,47 @@ avalanche blockchain addValidator [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--aggregator-extra-endpoints` | strings endpoints for extra nodes that are needed in signature aggregation | -| `--aggregator-log-level` | string log level to use with signature aggregator (default "Off") | -| `--balance` | uint set the AVAX balance of the validator that will be used for continuous fee to P-Chain | -| `--blockchain-genesis-key` | use genesis allocated key to pay fees for completing the validator's registration (blockchain gas token) | -| `--blockchain-key` | string CLI stored key to use to pay fees for completing the validator's registration (blockchain gas token) | -| `--blockchain-private-key` | string private key to use to pay fees for completing the validator's registration (blockchain gas token) | -| `--bls-proof-of-possession` | string set the BLS proof of possession of the validator to add | -| `--bls-public-key` | string set the BLS public key of the validator to add | -| `--cluster` | string operate on the given cluster | -| `--default-duration` | (for non sovereign blockchain) set duration so as to validate until primary validator ends its period | -| `--default-start-time` | (for non sovereign blockchain) use default start time for subnet validator (5 minutes later for fuji & mainnet, 30 seconds later for devnet) | -| `--default-validator-params` | (for non sovereign blockchain) use default weight/start/duration params for subnet validator | -| `--delegation-fee` | uint16 (PoS only) delegation fee (in bips) (default 100) | -| `--devnet` | operate on a devnet network | -| `--disable-owner` | string P-Chain address that will able to disable the validator with a P-Chain transaction | -| `--endpoint` | string use the given endpoint for network operations | -| `-e, --ewoq` | use ewoq key [fuji/devnet only] | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `-h, --help` | help for addValidator | -| `-k, --key` | string select the key to use [fuji/devnet only] | -| `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) | -| `--ledger-addrs` | strings use the given ledger addresses | -| `-l, --local` | operate on a local network | -| `-m, --mainnet` | operate on mainnet | -| `--node-endpoint` | string gather node id/bls from publicly available avalanchego apis on the given endpoint | -| `--node-id` | string node-id of the validator to add | -| `--output-tx-path` | string (for non sovereign blockchain) file path of the add validator tx | -| `--remaining-balance-owner` | string P-Chain address that will receive any leftover AVAX from the validator when it is removed from Subnet | -| `--rpc` | string connect to validator manager at the given rpc endpoint | -| `--stake-amount` | uint (PoS only) amount of tokens to stake | -| `--staking-period` | duration how long this validator will be staking | -| `--start-time` | string (for non sovereign blockchain) UTC start time when this validator starts validating, in 'YYYY-MM-DD HH:MM:SS' format | -| `--subnet-auth-keys` | strings (for non sovereign blockchain) control keys that will be used to authenticate add validator tx | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--wait-for-tx-acceptance` | (for non sovereign blockchain) just issue the add validator tx, without waiting for its acceptance (default true) | -| `--weight` | uint set the staking weight of the validator to add (default 20) | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--aggregator-extra-endpoints strings endpoints for extra nodes that are needed in signature aggregation +--aggregator-log-level string log level to use with signature aggregator (default "Off") +--balance uint set the AVAX balance of the validator that will be used for continuous fee to P-Chain +--blockchain-genesis-key use genesis allocated key to pay fees for completing the validator's registration (blockchain gas token) +--blockchain-key string CLI stored key to use to pay fees for completing the validator's registration (blockchain gas token) +--blockchain-private-key string private key to use to pay fees for completing the validator's registration (blockchain gas token) +--bls-proof-of-possession string set the BLS proof of possession of the validator to add +--bls-public-key string set the BLS public key of the validator to add +--cluster string operate on the given cluster +--default-duration (for non sovereign blockchain) set duration so as to validate until primary validator ends its period +--default-start-time (for non sovereign blockchain) use default start time for subnet validator (5 minutes later for fuji & mainnet, 30 seconds later for devnet) +--default-validator-params (for non sovereign blockchain) use default weight/start/duration params for subnet validator +--delegation-fee uint16 (PoS only) delegation fee (in bips) (default 100) +--devnet operate on a devnet network +--disable-owner string P-Chain address that will able to disable the validator with a P-Chain transaction +--endpoint string use the given endpoint for network operations +-e, --ewoq use ewoq key [fuji/devnet only] +-f, --fuji testnet operate on fuji (alias to testnet +-h, --help help for addValidator +-k, --key string select the key to use [fuji/devnet only] +-g, --ledger use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) +--ledger-addrs strings use the given ledger addresses +-l, --local operate on a local network +-m, --mainnet operate on mainnet +--node-endpoint string gather node id/bls from publicly available avalanchego apis on the given endpoint +--node-id string node-id of the validator to add +--output-tx-path string (for non sovereign blockchain) file path of the add validator tx +--remaining-balance-owner string P-Chain address that will receive any leftover AVAX from the validator when it is removed from Subnet +--rpc string connect to validator manager at the given rpc endpoint +--stake-amount uint (PoS only) amount of tokens to stake +--staking-period duration how long this validator will be staking +--start-time string (for non sovereign blockchain) UTC start time when this validator starts validating, in 'YYYY-MM-DD HH:MM:SS' format +--subnet-auth-keys strings (for non sovereign blockchain) control keys that will be used to authenticate add validator tx +-t, --testnet fuji operate on testnet (alias to fuji) +--wait-for-tx-acceptance (for non sovereign blockchain) just issue the add validator tx, without waiting for its acceptance (default true) +--weight uint set the staking weight of the validator to add (default 20) +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### changeOwner @@ -185,28 +189,28 @@ avalanche blockchain changeOwner [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--cluster` | string operate on the given cluster | -| `--control-keys` | strings addresses that may make subnet changes | -| `--devnet` | operate on a devnet network | -| `--endpoint` | string use the given endpoint for network operations | -| `-e, --ewoq` | use ewoq key [fuji/devnet] | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `-h, --help` | help for changeOwner | -| `-k, --key` | string select the key to use [fuji/devnet] | -| `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) | -| `--ledger-addrs` | strings use the given ledger addresses | -| `-l, --local` | operate on a local network | -| `-m, --mainnet` | operate on mainnet | -| `--output-tx-path` | string file path of the transfer subnet ownership tx | -| `-s, --same-control-key` | use the fee-paying key as control key | -| `--subnet-auth-keys` | strings control keys that will be used to authenticate transfer subnet ownership tx | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--threshold` | uint32 required number of control key signatures to make subnet changes | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--cluster string operate on the given cluster +--control-keys strings addresses that may make subnet changes +--devnet operate on a devnet network +--endpoint string use the given endpoint for network operations +-e, --ewoq use ewoq key [fuji/devnet] +-f, --fuji testnet operate on fuji (alias to testnet +-h, --help help for changeOwner +-k, --key string select the key to use [fuji/devnet] +-g, --ledger use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) +--ledger-addrs strings use the given ledger addresses +-l, --local operate on a local network +-m, --mainnet operate on mainnet +--output-tx-path string file path of the transfer subnet ownership tx +-s, --same-control-key use the fee-paying key as control key +--subnet-auth-keys strings control keys that will be used to authenticate transfer subnet ownership tx +-t, --testnet fuji operate on testnet (alias to fuji) +--threshold uint32 required number of control key signatures to make subnet changes +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### changeWeight @@ -221,25 +225,25 @@ avalanche blockchain changeWeight [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--cluster` | string operate on the given cluster | -| `--devnet` | operate on a devnet network | -| `--endpoint` | string use the given endpoint for network operations | -| `-e, --ewoq` | use ewoq key [fuji/devnet only] | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `-h, --help` | help for changeWeight | -| `-k, --key` | string select the key to use [fuji/devnet only] | -| `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) | -| `--ledger-addrs` | strings use the given ledger addresses | -| `-l, --local` | operate on a local network | -| `-m, --mainnet` | operate on mainnet | -| `--node-id` | string node-id of the validator | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--weight` | uint set the new staking weight of the validator (default 20) | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--cluster string operate on the given cluster +--devnet operate on a devnet network +--endpoint string use the given endpoint for network operations +-e, --ewoq use ewoq key [fuji/devnet only] +-f, --fuji testnet operate on fuji (alias to testnet +-h, --help help for changeWeight +-k, --key string select the key to use [fuji/devnet only] +-g, --ledger use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) +--ledger-addrs strings use the given ledger addresses +-l, --local operate on a local network +-m, --mainnet operate on mainnet +--node-id string node-id of the validator +-t, --testnet fuji operate on testnet (alias to fuji) +--weight uint set the new staking weight of the validator (default 20) +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### configure @@ -255,16 +259,16 @@ avalanche blockchain configure [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--chain-config` | string path to the chain configuration | -| `-h, --help` | help for configure | -| `--node-config` | string path to avalanchego node configuration | -| `--per-node-chain-config` | string path to per node chain configuration for local network | -| `--subnet-config` | string path to the subnet configuration | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--chain-config string path to the chain configuration +-h, --help help for configure +--node-config string path to avalanchego node configuration +--per-node-chain-config string path to per node chain configuration for local network +--subnet-config string path to the subnet configuration +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### create @@ -287,41 +291,41 @@ avalanche blockchain create [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--custom` | use a custom VM template | -| `--custom-vm-branch` | string custom vm branch or commit | -| `--custom-vm-build-script` | string custom vm build-script | -| `--custom-vm-path` | string file path of custom vm to use | -| `--custom-vm-repo-url` | string custom vm repository url | -| `--debug` | enable blockchain debugging (default true) | -| `--evm` | use the Subnet-EVM as the base template | -| `--evm-chain-id` | uint chain ID to use with Subnet-EVM | -| `--evm-defaults` | deprecation notice: use '--production-defaults' | -| `--evm-token` | string token symbol to use with Subnet-EVM | -| `--external-gas-token` | use a gas token from another blockchain | -| `-f, --force` | overwrite the existing configuration if one exists | -| `--from-github-repo` | generate custom VM binary from github repository | -| `--genesis` | string file path of genesis to use | -| `-h, --help` | help for create | -| `--icm-registry-at-genesis` | setup ICM registry smart contract on genesis [experimental] | -| `--latest` | use latest Subnet-EVM released version, takes precedence over --vm-version | -| `--pre-release` | use latest Subnet-EVM pre-released version, takes precedence over --vm-version | -| `--production-defaults` | use default production settings for your blockchain | -| `--proof-of-authority` | use proof of authority(PoA) for validator management | -| `--proof-of-stake` | use proof of stake(PoS) for validator management | -| `--proxy-contract-owner` | string EVM address that controls ProxyAdmin for TransparentProxy of ValidatorManager contract | -| `--reward-basis-points` | uint (PoS only) reward basis points for PoS Reward Calculator (default 100) | -| `--sovereign` | set to false if creating non-sovereign blockchain (default true) | -| `--teleporter` | interoperate with other blockchains using teleporter | -| `--test-defaults` | use default test settings for your blockchain | -| `--validator-manager-owner` | string EVM address that controls Validator Manager Owner | -| `--vm` | string file path of custom vm to use. alias to custom-vm-path | -| `--vm-version` | string version of Subnet-EVM template to use | -| `--warp` | generate a vm with warp support (needed for teleporter) (default true) | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--custom use a custom VM template +--custom-vm-branch string custom vm branch or commit +--custom-vm-build-script string custom vm build-script +--custom-vm-path string file path of custom vm to use +--custom-vm-repo-url string custom vm repository url +--debug enable blockchain debugging (default true) +--evm use the Subnet-EVM as the base template +--evm-chain-id uint chain ID to use with Subnet-EVM +--evm-defaults deprecation notice: use '--production-defaults' +--evm-token string token symbol to use with Subnet-EVM +--external-gas-token use a gas token from another blockchain +-f, --force overwrite the existing configuration if one exists +--from-github-repo generate custom VM binary from github repository +--genesis string file path of genesis to use +-h, --help help for create +--icm-registry-at-genesis setup ICM registry smart contract on genesis [experimental] +--latest use latest Subnet-EVM released version, takes precedence over --vm-version +--pre-release use latest Subnet-EVM pre-released version, takes precedence over --vm-version +--production-defaults use default production settings for your blockchain +--proof-of-authority use proof of authority(PoA) for validator management +--proof-of-stake use proof of stake(PoS) for validator management +--proxy-contract-owner string EVM address that controls ProxyAdmin for TransparentProxy of ValidatorManager contract +--reward-basis-points uint (PoS only) reward basis points for PoS Reward Calculator (default 100) +--sovereign set to false if creating non-sovereign blockchain (default true) +--teleporter interoperate with other blockchains using teleporter +--test-defaults use default test settings for your blockchain +--validator-manager-owner string EVM address that controls Validator Manager Owner +--vm string file path of custom vm to use. alias to custom-vm-path +--vm-version string version of Subnet-EVM template to use +--warp generate a vm with warp support (needed for teleporter) (default true) +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### delete @@ -334,12 +338,12 @@ avalanche blockchain delete [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for delete | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for delete +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### deploy @@ -361,63 +365,63 @@ avalanche blockchain deploy [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--aggregator-extra-endpoints` | strings endpoints for extra nodes that are needed in signature aggregation | -| `--aggregator-log-level` | string log level to use with signature aggregator (default "Off") | -| `--avalanchego-path` | string use this avalanchego binary path | -| `--avalanchego-version` | string use this version of avalanchego (ex: v1.17.12) (default "latest") | -| `--blockchain-genesis-key` | use genesis allocated key to fund validator manager initialization | -| `--blockchain-key` | string CLI stored key to use to fund validator manager initialization | -| `--blockchain-private-key` | string private key to use to fund validator manager initialization | -| `--bootstrap-endpoints` | strings take validator node info from the given endpoints | -| `--bootstrap-filepath` | string JSON file path that provides details about bootstrap validators, leave Node-ID and BLS values empty if using --generate-node-id=true | -| `--change-owner-address` | string address that will receive change if node is no longer L1 validator | -| `--cluster` | string operate on the given cluster | -| `--control-keys` | strings addresses that may make subnet changes | -| `--convert-only` | avoid node track, restart and poa manager setup | -| `--devnet` | operate on a devnet network | -| `--endpoint` | string use the given endpoint for network operations | -| `--etna-devnet` | operate on an etna devnet network | -| `-e, --ewoq` | use ewoq key [fuji/devnet deploy only] | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `--generate-node-id` | whether to create new node id for bootstrap validators (Node-ID and BLS values in bootstrap JSON file will be overridden if --bootstrap-filepath flag is used) | -| `-h, --help` | help for deploy | -| `-k, --key` | string select the key to use [fuji/devnet deploy only] | -| `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) | -| `--ledger-addrs` | strings use the given ledger addresses | -| `-l, --local` | operate on a local network | -| `-m, --mainnet` | operate on mainnet | -| `--mainnet-chain-id` | uint32 use different ChainID for mainnet deployment | -| `--num-bootstrap-validators` | int (only if --generate-node-id is true) number of bootstrap validators to set up in sovereign L1 validator) | -| `--num-local-nodes` | int number of nodes to be created on local machine (default 5) | -| `--output-tx-path` | string file path of the blockchain creation tx | -| `--partial-sync` | set primary network partial sync for new validators (default true) | -| `--pos-maximum-stake-amount` | uint maximum stake amount (default 1000) | -| `--pos-maximum-stake-multiplier` | uint8 maximum stake multiplier (default 1) | -| `--pos-minimum-delegation-fee` | uint16 minimum delegation fee (default 1) | -| `--pos-minimum-stake-amount` | uint minimum stake amount (default 1) | -| `--pos-minimum-stake-duration` | uint minimum stake duration (default 100) | -| `--pos-weight-to-value-factor` | uint weight to value factor (default 1) | -| `--relayer-version` | string relayer version to deploy (default "latest") | -| `-s, --same-control-key` | use the fee-paying key as control key | -| `--skip-local-teleporter` | skip automatic teleporter deploy on local networks [to be deprecated] | -| `--skip-relayer` | skip relayer deploy | -| `--skip-teleporter-deploy` | skip automatic teleporter deploy | -| `--subnet-auth-keys` | strings control keys that will be used to authenticate chain creation | -| `-u, --subnet-id` | string do not create a subnet, deploy the blockchain into the given subnet id | -| `--subnet-only` | only create a subnet | -| `--teleporter-messenger-contract-address-path` | string path to an interchain messenger contract address file | -| `--teleporter-messenger-deployer-address-path` | string path to an interchain messenger deployer address file | -| `--teleporter-messenger-deployer-tx-path` | string path to an interchain messenger deployer tx file | -| `--teleporter-registry-bytecode-path` | string path to an interchain messenger registry bytecode file | -| `--teleporter-version` | string teleporter version to deploy (default "latest") | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--threshold` | uint32 required number of control key signatures to make subnet changes | -| `--use-local-machine` | use local machine as a blockchain validator | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--aggregator-extra-endpoints strings endpoints for extra nodes that are needed in signature aggregation +--aggregator-log-level string log level to use with signature aggregator (default "Off") +--avalanchego-path string use this avalanchego binary path +--avalanchego-version string use this version of avalanchego (ex: v1.17.12) (default "latest") +--blockchain-genesis-key use genesis allocated key to fund validator manager initialization +--blockchain-key string CLI stored key to use to fund validator manager initialization +--blockchain-private-key string private key to use to fund validator manager initialization +--bootstrap-endpoints strings take validator node info from the given endpoints +--bootstrap-filepath string JSON file path that provides details about bootstrap validators, leave Node-ID and BLS values empty if using --generate-node-id=true +--change-owner-address string address that will receive change if node is no longer L1 validator +--cluster string operate on the given cluster +--control-keys strings addresses that may make subnet changes +--convert-only avoid node track, restart and poa manager setup +--devnet operate on a devnet network +--endpoint string use the given endpoint for network operations +--etna-devnet operate on an etna devnet network +-e, --ewoq use ewoq key [fuji/devnet deploy only] +-f, --fuji testnet operate on fuji (alias to testnet +--generate-node-id whether to create new node id for bootstrap validators (Node-ID and BLS values in bootstrap JSON file will be overridden if --bootstrap-filepath flag is used) +-h, --help help for deploy +-k, --key string select the key to use [fuji/devnet deploy only] +-g, --ledger use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) +--ledger-addrs strings use the given ledger addresses +-l, --local operate on a local network +-m, --mainnet operate on mainnet +--mainnet-chain-id uint32 use different ChainID for mainnet deployment +--num-bootstrap-validators int (only if --generate-node-id is true) number of bootstrap validators to set up in sovereign L1 validator) +--num-local-nodes int number of nodes to be created on local machine (default 5) +--output-tx-path string file path of the blockchain creation tx +--partial-sync set primary network partial sync for new validators (default true) +--pos-maximum-stake-amount uint maximum stake amount (default 1000) +--pos-maximum-stake-multiplier uint8 maximum stake multiplier (default 1) +--pos-minimum-delegation-fee uint16 minimum delegation fee (default 1) +--pos-minimum-stake-amount uint minimum stake amount (default 1) +--pos-minimum-stake-duration uint minimum stake duration (default 100) +--pos-weight-to-value-factor uint weight to value factor (default 1) +--relayer-version string relayer version to deploy (default "latest") +-s, --same-control-key use the fee-paying key as control key +--skip-local-teleporter skip automatic teleporter deploy on local networks [to be deprecated] +--skip-relayer skip relayer deploy +--skip-teleporter-deploy skip automatic teleporter deploy +--subnet-auth-keys strings control keys that will be used to authenticate chain creation +-u, --subnet-id string do not create a subnet, deploy the blockchain into the given subnet id +--subnet-only only create a subnet +--teleporter-messenger-contract-address-path string path to an interchain messenger contract address file +--teleporter-messenger-deployer-address-path string path to an interchain messenger deployer address file +--teleporter-messenger-deployer-tx-path string path to an interchain messenger deployer tx file +--teleporter-registry-bytecode-path string path to an interchain messenger registry bytecode file +--teleporter-version string teleporter version to deploy (default "latest") +-t, --testnet fuji operate on testnet (alias to fuji) +--threshold uint32 required number of control key signatures to make subnet changes +--use-local-machine use local machine as a blockchain validator +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### describe @@ -432,13 +436,13 @@ avalanche blockchain describe [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-g, --genesis` | Print the genesis to the console directly instead of the summary | -| `-h, --help` | help for describe | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-g, --genesis Print the genesis to the console directly instead of the summary +-h, --help help for describe +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### export @@ -454,16 +458,16 @@ avalanche blockchain export [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--custom-vm-branch` | string custom vm branch | -| `--custom-vm-build-script` | string custom vm build-script | -| `--custom-vm-repo-url` | string custom vm repository url | -| `-h, --help` | help for export | -| `-o, --output` | string write the export data to the provided file path | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--custom-vm-branch string custom vm branch +--custom-vm-build-script string custom vm build-script +--custom-vm-repo-url string custom vm repository url +-h, --help help for export +-o, --output string write the export data to the provided file path +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### import @@ -480,12 +484,12 @@ avalanche blockchain import [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for import | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for import +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` **Subcommands:** @@ -519,16 +523,16 @@ avalanche blockchain import file [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--branch` | string the repo branch to use if downloading a new repo | -| `-f, --force` | overwrite the existing configuration if one exists | -| `-h, --help` | help for file | -| `--repo` | string the repo to import (ex: ava-labs/avalanche-plugins-core) or url to download the repo from | -| `--subnet` | string the subnet configuration to import from the provided repo | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--branch string the repo branch to use if downloading a new repo +-f, --force overwrite the existing configuration if one exists +-h, --help help for file +--repo string the repo to import (ex: ava-labs/avalanche-plugins-core) or url to download the repo from +--subnet string the subnet configuration to import from the provided repo +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` #### import public @@ -545,24 +549,24 @@ avalanche blockchain import public [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--blockchain-id` | string the blockchain ID | -| `--cluster` | string operate on the given cluster | -| `--custom` | use a custom VM template | -| `--devnet` | operate on a devnet network | -| `--endpoint` | string use the given endpoint for network operations | -| `--evm` | import a subnet-evm | -| `--force` | overwrite the existing configuration if one exists | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `-h, --help` | help for public | -| `-l, --local` | operate on a local network | -| `-m, --mainnet` | operate on mainnet | -| `--node-url` | string [optional] URL of an already running subnet validator | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--blockchain-id string the blockchain ID +--cluster string operate on the given cluster +--custom use a custom VM template +--devnet operate on a devnet network +--endpoint string use the given endpoint for network operations +--evm import a subnet-evm +--force overwrite the existing configuration if one exists +-f, --fuji testnet operate on fuji (alias to testnet +-h, --help help for public +-l, --local operate on a local network +-m, --mainnet operate on mainnet +--node-url string [optional] URL of an already running subnet validator +-t, --testnet fuji operate on testnet (alias to fuji) +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### join @@ -588,31 +592,31 @@ avalanche blockchain join [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--avalanchego-config` | string file path of the avalanchego config file | -| `--cluster` | string operate on the given cluster | -| `--data-dir` | string path of avalanchego's data dir directory | -| `--devnet` | operate on a devnet network | -| `--endpoint` | string use the given endpoint for network operations | -| `--force-write` | if true, skip to prompt to overwrite the config file | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `-h, --help` | help for join | -| `-k, --key` | string select the key to use [fuji only] | -| `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji) | -| `--ledger-addrs` | strings use the given ledger addresses | -| `-l, --local` | operate on a local network | -| `-m, --mainnet` | operate on mainnet | -| `--node-id` | string set the NodeID of the validator to check | -| `--plugin-dir` | string file path of avalanchego's plugin directory | -| `--print` | if true, print the manual config without prompting | -| `--stake-amount` | uint amount of tokens to stake on validator | -| `--staking-period` | duration how long validator validates for after start time | -| `--start-time` | string start time that validator starts validating | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--avalanchego-config string file path of the avalanchego config file +--cluster string operate on the given cluster +--data-dir string path of avalanchego's data dir directory +--devnet operate on a devnet network +--endpoint string use the given endpoint for network operations +--force-write if true, skip to prompt to overwrite the config file +-f, --fuji testnet operate on fuji (alias to testnet +-h, --help help for join +-k, --key string select the key to use [fuji only] +-g, --ledger use ledger instead of key (always true on mainnet, defaults to false on fuji) +--ledger-addrs strings use the given ledger addresses +-l, --local operate on a local network +-m, --mainnet operate on mainnet +--node-id string set the NodeID of the validator to check +--plugin-dir string file path of avalanchego's plugin directory +--print if true, print the manual config without prompting +--stake-amount uint amount of tokens to stake on validator +--staking-period duration how long validator validates for after start time +--start-time string start time that validator starts validating +-t, --testnet fuji operate on testnet (alias to fuji) +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### list @@ -627,13 +631,13 @@ avalanche blockchain list [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--deployed` | show additional deploy information | -| `-h, --help` | help for list | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--deployed show additional deploy information +-h, --help help for list +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### publish @@ -646,18 +650,18 @@ avalanche blockchain publish [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--alias` | string We publish to a remote repo, but identify the repo locally under a user-provided alias (e.g. myrepo). | -| `--force` | If true, ignores if the subnet has been published in the past, and attempts a forced publish. | -| `-h, --help` | help for publish | -| `--no-repo-path` | string Do not let the tool manage file publishing, but have it only generate the files and put them in the location given by this flag. | -| `--repo-url` | string The URL of the repo where we are publishing | -| `--subnet-file-path` | string Path to the Subnet description file. If not given, a prompting sequence will be initiated. | -| `--vm-file-path` | string Path to the VM description file. If not given, a prompting sequence will be initiated. | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--alias string We publish to a remote repo, but identify the repo locally under a user-provided alias (e.g. myrepo). +--force If true, ignores if the subnet has been published in the past, and attempts a forced publish. +-h, --help help for publish +--no-repo-path string Do not let the tool manage file publishing, but have it only generate the files and put them in the location given by this flag. +--repo-url string The URL of the repo where we are publishing +--subnet-file-path string Path to the Subnet description file. If not given, a prompting sequence will be initiated. +--vm-file-path string Path to the VM description file. If not given, a prompting sequence will be initiated. +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### removeValidator @@ -674,32 +678,32 @@ avalanche blockchain removeValidator [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--aggregator-extra-endpoints` | strings endpoints for extra nodes that are needed in signature aggregation | -| `--aggregator-log-level` | string log level to use with signature aggregator (default "Off") | -| `--blockchain-genesis-key` | use genesis allocated key to pay fees for completing the validator's removal (blockchain gas token) | -| `--blockchain-key` | string CLI stored key to use to pay fees for completing the validator's removal (blockchain gas token) | -| `--blockchain-private-key` | string private key to use to pay fees for completing the validator's removal (blockchain gas token) | -| `--cluster` | string operate on the given cluster | -| `--devnet` | operate on a devnet network | -| `--endpoint` | string use the given endpoint for network operations | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `-h, --help` | help for removeValidator | -| `-k, --key` | string select the key to use [fuji deploy only] | -| `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji) | -| `--ledger-addrs` | strings use the given ledger addresses | -| `-l, --local` | operate on a local network | -| `-m, --mainnet` | operate on mainnet | -| `--node-endpoint` | string remove validator that responds to the given endpoint | -| `--node-id` | string node-id of the validator | -| `--output-tx-path` | string (for non-SOV blockchain only) file path of the removeValidator tx | -| `--rpc` | string connect to validator manager at the given rpc endpoint | -| `--subnet-auth-keys` | strings (for non-SOV blockchain only) control keys that will be used to authenticate the removeValidator tx | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--aggregator-extra-endpoints strings endpoints for extra nodes that are needed in signature aggregation +--aggregator-log-level string log level to use with signature aggregator (default "Off") +--blockchain-genesis-key use genesis allocated key to pay fees for completing the validator's removal (blockchain gas token) +--blockchain-key string CLI stored key to use to pay fees for completing the validator's removal (blockchain gas token) +--blockchain-private-key string private key to use to pay fees for completing the validator's removal (blockchain gas token) +--cluster string operate on the given cluster +--devnet operate on a devnet network +--endpoint string use the given endpoint for network operations +-f, --fuji testnet operate on fuji (alias to testnet +-h, --help help for removeValidator +-k, --key string select the key to use [fuji deploy only] +-g, --ledger use ledger instead of key (always true on mainnet, defaults to false on fuji) +--ledger-addrs strings use the given ledger addresses +-l, --local operate on a local network +-m, --mainnet operate on mainnet +--node-endpoint string remove validator that responds to the given endpoint +--node-id string node-id of the validator +--output-tx-path string (for non-SOV blockchain only) file path of the removeValidator tx +--rpc string connect to validator manager at the given rpc endpoint +--subnet-auth-keys strings (for non-SOV blockchain only) control keys that will be used to authenticate the removeValidator tx +-t, --testnet fuji operate on testnet (alias to fuji) +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### stats @@ -712,19 +716,19 @@ avalanche blockchain stats [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--cluster` | string operate on the given cluster | -| `--devnet` | operate on a devnet network | -| `--endpoint` | string use the given endpoint for network operations | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `-h, --help` | help for stats | -| `-l, --local` | operate on a local network | -| `-m, --mainnet` | operate on mainnet | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--cluster string operate on the given cluster +--devnet operate on a devnet network +--endpoint string use the given endpoint for network operations +-f, --fuji testnet operate on fuji (alias to testnet +-h, --help help for stats +-l, --local operate on a local network +-m, --mainnet operate on mainnet +-t, --testnet fuji operate on testnet (alias to fuji) +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### upgrade @@ -738,12 +742,12 @@ avalanche blockchain upgrade [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for upgrade | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for upgrade +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` **Subcommands:** @@ -790,19 +794,19 @@ avalanche blockchain upgrade apply [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--avalanchego-chain-config-dir` | string avalanchego's chain config file directory (default "/Users/owen.wahlgren/.avalanchego/chains") | -| `--config` | create upgrade config for future subnet deployments (same as generate) | -| `--force` | If true, don't prompt for confirmation of timestamps in the past | -| `--fuji` | fuji apply upgrade existing fuji deployment (alias for `testnet`) | -| `-h, --help` | help for apply | -| `--local` | local apply upgrade existing local deployment | -| `--mainnet` | mainnet apply upgrade existing mainnet deployment | -| `--print` | if true, print the manual config without prompting (for public networks only) | -| `--testnet` | testnet apply upgrade existing testnet deployment (alias for `fuji`) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--avalanchego-chain-config-dir string avalanchego's chain config file directory (default "/Users/owen.wahlgren/.avalanchego/chains") +--config create upgrade config for future subnet deployments (same as generate) +--force If true, don't prompt for confirmation of timestamps in the past +--fuji fuji apply upgrade existing fuji deployment (alias for `testnet`) +-h, --help help for apply +--local local apply upgrade existing local deployment +--mainnet mainnet apply upgrade existing mainnet deployment +--print if true, print the manual config without prompting (for public networks only) +--testnet testnet apply upgrade existing testnet deployment (alias for `fuji`) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` #### upgrade export @@ -815,14 +819,14 @@ avalanche blockchain upgrade export [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--force` | If true, overwrite a possibly existing file without prompting | -| `-h, --help` | help for export | -| `--upgrade-filepath` | string Export upgrade bytes file to location of choice on disk | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--force If true, overwrite a possibly existing file without prompting +-h, --help help for export +--upgrade-filepath string Export upgrade bytes file to location of choice on disk +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` #### upgrade generate @@ -836,12 +840,12 @@ avalanche blockchain upgrade generate [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for generate | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for generate +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` #### upgrade import @@ -854,13 +858,13 @@ avalanche blockchain upgrade import [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for import | -| `--upgrade-filepath` | string Import upgrade bytes file into local environment | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for import +--upgrade-filepath string Import upgrade bytes file into local environment +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` #### upgrade print @@ -873,12 +877,12 @@ avalanche blockchain upgrade print [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for print | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for print +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` #### upgrade vm @@ -895,21 +899,21 @@ avalanche blockchain upgrade vm [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--binary` | string Upgrade to custom binary | -| `--config` | upgrade config for future subnet deployments | -| `--fuji` | fuji upgrade existing fuji deployment (alias for `testnet`) | -| `-h, --help` | help for vm | -| `--latest` | upgrade to latest version | -| `--local` | local upgrade existing local deployment | -| `--mainnet` | mainnet upgrade existing mainnet deployment | -| `--plugin-dir` | string plugin directory to automatically upgrade VM | -| `--print` | print instructions for upgrading | -| `--testnet` | testnet upgrade existing testnet deployment (alias for `fuji`) | -| `--version` | string Upgrade to custom version | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--binary string Upgrade to custom binary +--config upgrade config for future subnet deployments +--fuji fuji upgrade existing fuji deployment (alias for `testnet`) +-h, --help help for vm +--latest upgrade to latest version +--local local upgrade existing local deployment +--mainnet mainnet upgrade existing mainnet deployment +--plugin-dir string plugin directory to automatically upgrade VM +--print print instructions for upgrading +--testnet testnet upgrade existing testnet deployment (alias for `fuji`) +--version string Upgrade to custom version +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### validators @@ -923,19 +927,19 @@ avalanche blockchain validators [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--cluster` | string operate on the given cluster | -| `--devnet` | operate on a devnet network | -| `--endpoint` | string use the given endpoint for network operations | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `-h, --help` | help for validators | -| `-l, --local` | operate on a local network | -| `-m, --mainnet` | operate on mainnet | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--cluster string operate on the given cluster +--devnet operate on a devnet network +--endpoint string use the given endpoint for network operations +-f, --fuji testnet operate on fuji (alias to testnet +-h, --help help for validators +-l, --local operate on a local network +-m, --mainnet operate on mainnet +-t, --testnet fuji operate on testnet (alias to fuji) +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### vmid @@ -948,12 +952,12 @@ avalanche blockchain vmid [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for vmid | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for vmid +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ## avalanche config @@ -966,12 +970,12 @@ avalanche config [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for config | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for config +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` **Subcommands:** @@ -992,12 +996,12 @@ avalanche config authorize-cloud-access [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for authorize-cloud-access | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for authorize-cloud-access +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### metrics @@ -1010,12 +1014,12 @@ avalanche config metrics [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for metrics | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for metrics +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### migrate @@ -1028,12 +1032,12 @@ avalanche config migrate [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for migrate | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for migrate +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### singleNode @@ -1046,12 +1050,12 @@ avalanche config singleNode [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for singleNode | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for singleNode +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### snapshotsAutoSave @@ -1064,12 +1068,12 @@ avalanche config snapshotsAutoSave [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for snapshotsAutoSave | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for snapshotsAutoSave +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ## avalanche contract @@ -1083,12 +1087,12 @@ avalanche contract [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for contract | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for contract +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` **Subcommands:** @@ -1108,12 +1112,12 @@ avalanche contract deploy [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for deploy | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for deploy +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` **Subcommands:** @@ -1130,28 +1134,28 @@ avalanche contract deploy erc20 [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--blockchain` | string deploy the ERC20 contract into the given CLI blockchain | -| `--blockchain-id` | string deploy the ERC20 contract into the given blockchain ID/Alias | -| `--c-chain` | deploy the ERC20 contract into C-Chain | -| `--cluster` | string operate on the given cluster | -| `--devnet` | operate on a devnet network | -| `--endpoint` | string use the given endpoint for network operations | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `--funded` | string set the funded address | -| `--genesis-key` | use genesis allocated key as contract deployer | -| `-h, --help` | help for erc20 | -| `--key` | string CLI stored key to use as contract deployer | -| `-l, --local` | operate on a local network | -| `--private-key` | string private key to use as contract deployer | -| `--rpc` | string deploy the contract into the given rpc endpoint | -| `--supply` | uint set the token supply | -| `--symbol` | string set the token symbol | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--blockchain string deploy the ERC20 contract into the given CLI blockchain +--blockchain-id string deploy the ERC20 contract into the given blockchain ID/Alias +--c-chain deploy the ERC20 contract into C-Chain +--cluster string operate on the given cluster +--devnet operate on a devnet network +--endpoint string use the given endpoint for network operations +-f, --fuji testnet operate on fuji (alias to testnet +--funded string set the funded address +--genesis-key use genesis allocated key as contract deployer +-h, --help help for erc20 +--key string CLI stored key to use as contract deployer +-l, --local operate on a local network +--private-key string private key to use as contract deployer +--rpc string deploy the contract into the given rpc endpoint +--supply uint set the token supply +--symbol string set the token symbol +-t, --testnet fuji operate on testnet (alias to fuji) +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### initValidatorManager @@ -1164,32 +1168,32 @@ avalanche contract initValidatorManager [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--aggregator-extra-endpoints` | strings endpoints for extra nodes that are needed in signature aggregation | -| `--aggregator-log-level` | string log level to use with signature aggregator (default "Off") | -| `--cluster` | string operate on the given cluster | -| `--devnet` | operate on a devnet network | -| `--endpoint` | string use the given endpoint for network operations | -| `--etna-devnet` | operate on an etna devnet network | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `--genesis-key` | use genesis allocated key as contract deployer | -| `-h, --help` | help for initValidatorManager | -| `--key` | string CLI stored key to use as contract deployer | -| `-l, --local` | operate on a local network | -| `--pos-maximum-stake-amount` | uint (PoS only) maximum stake amount (default 1000) | -| `--pos-maximum-stake-multiplier` | uint8 (PoS only )maximum stake multiplier (default 1) | -| `--pos-minimum-delegation-fee` | uint16 (PoS only) minimum delegation fee (default 1) | -| `--pos-minimum-stake-amount` | uint (PoS only) minimum stake amount (default 1) | -| `--pos-minimum-stake-duration` | uint (PoS only) minimum stake duration (default 100) | -| `--pos-reward-calculator-address` | string (PoS only) initialize the ValidatorManager with reward calculator address | -| `--pos-weight-to-value-factor` | uint (PoS only) weight to value factor (default 1) | -| `--private-key` | string private key to use as contract deployer | -| `--rpc` | string deploy the contract into the given rpc endpoint | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--aggregator-extra-endpoints strings endpoints for extra nodes that are needed in signature aggregation +--aggregator-log-level string log level to use with signature aggregator (default "Off") +--cluster string operate on the given cluster +--devnet operate on a devnet network +--endpoint string use the given endpoint for network operations +--etna-devnet operate on an etna devnet network +-f, --fuji testnet operate on fuji (alias to testnet +--genesis-key use genesis allocated key as contract deployer +-h, --help help for initValidatorManager +--key string CLI stored key to use as contract deployer +-l, --local operate on a local network +--pos-maximum-stake-amount uint (PoS only) maximum stake amount (default 1000) +--pos-maximum-stake-multiplier uint8 (PoS only )maximum stake multiplier (default 1) +--pos-minimum-delegation-fee uint16 (PoS only) minimum delegation fee (default 1) +--pos-minimum-stake-amount uint (PoS only) minimum stake amount (default 1) +--pos-minimum-stake-duration uint (PoS only) minimum stake duration (default 100) +--pos-reward-calculator-address string (PoS only) initialize the ValidatorManager with reward calculator address +--pos-weight-to-value-factor uint (PoS only) weight to value factor (default 1) +--private-key string private key to use as contract deployer +--rpc string deploy the contract into the given rpc endpoint +-t, --testnet fuji operate on testnet (alias to fuji) +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ## avalanche help @@ -1203,12 +1207,12 @@ avalanche help [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for help | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for help +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ## avalanche ictt @@ -1221,12 +1225,12 @@ avalanche ictt [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for ictt | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for ictt +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` **Subcommands:** @@ -1243,37 +1247,37 @@ avalanche ictt deploy [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--c-chain-home` | set the Transferrer's Home Chain into C-Chain | -| `--c-chain-remote` | set the Transferrer's Remote Chain into C-Chain | -| `--cluster` | string operate on the given cluster | -| `--deploy-erc20-home` | string deploy a Transferrer Home for the given Chain's ERC20 Token | -| `--deploy-native-home` | deploy a Transferrer Home for the Chain's Native Token | -| `--deploy-native-remote` | deploy a Transferrer Remote for the Chain's Native Token | -| `--devnet` | operate on a devnet network | -| `--endpoint` | string use the given endpoint for network operations | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `-h, --help` | help for deploy | -| `--home-blockchain` | string set the Transferrer's Home Chain into the given CLI blockchain | -| `--home-genesis-key` | use genesis allocated key to deploy Transferrer Home | -| `--home-key` | string CLI stored key to use to deploy Transferrer Home | -| `--home-private-key` | string private key to use to deploy Transferrer Home | -| `--home-rpc` | string use the given RPC URL to connect to the home blockchain | -| `-l, --local` | operate on a local network | -| `--remote-blockchain` | string set the Transferrer's Remote Chain into the given CLI blockchain | -| `--remote-genesis-key` | use genesis allocated key to deploy Transferrer Remote | -| `--remote-key` | string CLI stored key to use to deploy Transferrer Remote | -| `--remote-private-key` | string private key to use to deploy Transferrer Remote | -| `--remote-rpc` | string use the given RPC URL to connect to the remote blockchain | -| `--remote-token-decimals` | uint8 use the given number of token decimals for the Transferrer Remote [defaults to token home's decimals (18 for a new wrapped native home token)] | -| `--remove-minter-admin` | remove the native minter precompile admin found on remote blockchain genesis | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--use-home` | string use the given Transferrer's Home Address | -| `--version` | string tag/branch/commit of Avalanche Interchain Token Transfer (ICTT) to be used (defaults to main branch) | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--c-chain-home set the Transferrer's Home Chain into C-Chain +--c-chain-remote set the Transferrer's Remote Chain into C-Chain +--cluster string operate on the given cluster +--deploy-erc20-home string deploy a Transferrer Home for the given Chain's ERC20 Token +--deploy-native-home deploy a Transferrer Home for the Chain's Native Token +--deploy-native-remote deploy a Transferrer Remote for the Chain's Native Token +--devnet operate on a devnet network +--endpoint string use the given endpoint for network operations +-f, --fuji testnet operate on fuji (alias to testnet +-h, --help help for deploy +--home-blockchain string set the Transferrer's Home Chain into the given CLI blockchain +--home-genesis-key use genesis allocated key to deploy Transferrer Home +--home-key string CLI stored key to use to deploy Transferrer Home +--home-private-key string private key to use to deploy Transferrer Home +--home-rpc string use the given RPC URL to connect to the home blockchain +-l, --local operate on a local network +--remote-blockchain string set the Transferrer's Remote Chain into the given CLI blockchain +--remote-genesis-key use genesis allocated key to deploy Transferrer Remote +--remote-key string CLI stored key to use to deploy Transferrer Remote +--remote-private-key string private key to use to deploy Transferrer Remote +--remote-rpc string use the given RPC URL to connect to the remote blockchain +--remote-token-decimals uint8 use the given number of token decimals for the Transferrer Remote [defaults to token home's decimals (18 for a new wrapped native home token)] +--remove-minter-admin remove the native minter precompile admin found on remote blockchain genesis +-t, --testnet fuji operate on testnet (alias to fuji) +--use-home string use the given Transferrer's Home Address +--version string tag/branch/commit of Avalanche Interchain Token Transfer (ICTT) to be used (defaults to main branch) +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ## avalanche interchain @@ -1287,12 +1291,12 @@ avalanche interchain [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for interchain | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for interchain +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` **Subcommands:** @@ -1309,12 +1313,12 @@ avalanche interchain tokenTransferrer [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for tokenTransferrer | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for tokenTransferrer +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` **Subcommands:** @@ -1331,37 +1335,37 @@ avalanche interchain tokenTransferrer deploy [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--c-chain-home` | set the Transferrer's Home Chain into C-Chain | -| `--c-chain-remote` | set the Transferrer's Remote Chain into C-Chain | -| `--cluster` | string operate on the given cluster | -| `--deploy-erc20-home` | string deploy a Transferrer Home for the given Chain's ERC20 Token | -| `--deploy-native-home` | deploy a Transferrer Home for the Chain's Native Token | -| `--deploy-native-remote` | deploy a Transferrer Remote for the Chain's Native Token | -| `--devnet` | operate on a devnet network | -| `--endpoint` | string use the given endpoint for network operations | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `-h, --help` | help for deploy | -| `--home-blockchain` | string set the Transferrer's Home Chain into the given CLI blockchain | -| `--home-genesis-key` | use genesis allocated key to deploy Transferrer Home | -| `--home-key` | string CLI stored key to use to deploy Transferrer Home | -| `--home-private-key` | string private key to use to deploy Transferrer Home | -| `--home-rpc` | string use the given RPC URL to connect to the home blockchain | -| `-l, --local` | operate on a local network | -| `--remote-blockchain` | string set the Transferrer's Remote Chain into the given CLI blockchain | -| `--remote-genesis-key` | use genesis allocated key to deploy Transferrer Remote | -| `--remote-key` | string CLI stored key to use to deploy Transferrer Remote | -| `--remote-private-key` | string private key to use to deploy Transferrer Remote | -| `--remote-rpc` | string use the given RPC URL to connect to the remote blockchain | -| `--remote-token-decimals` | uint8 use the given number of token decimals for the Transferrer Remote [defaults to token home's decimals (18 for a new wrapped native home token)] | -| `--remove-minter-admin` | remove the native minter precompile admin found on remote blockchain genesis | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--use-home` | string use the given Transferrer's Home Address | -| `--version` | string tag/branch/commit of Avalanche Interchain Token Transfer (ICTT) to be used (defaults to main branch) | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--c-chain-home set the Transferrer's Home Chain into C-Chain +--c-chain-remote set the Transferrer's Remote Chain into C-Chain +--cluster string operate on the given cluster +--deploy-erc20-home string deploy a Transferrer Home for the given Chain's ERC20 Token +--deploy-native-home deploy a Transferrer Home for the Chain's Native Token +--deploy-native-remote deploy a Transferrer Remote for the Chain's Native Token +--devnet operate on a devnet network +--endpoint string use the given endpoint for network operations +-f, --fuji testnet operate on fuji (alias to testnet +-h, --help help for deploy +--home-blockchain string set the Transferrer's Home Chain into the given CLI blockchain +--home-genesis-key use genesis allocated key to deploy Transferrer Home +--home-key string CLI stored key to use to deploy Transferrer Home +--home-private-key string private key to use to deploy Transferrer Home +--home-rpc string use the given RPC URL to connect to the home blockchain +-l, --local operate on a local network +--remote-blockchain string set the Transferrer's Remote Chain into the given CLI blockchain +--remote-genesis-key use genesis allocated key to deploy Transferrer Remote +--remote-key string CLI stored key to use to deploy Transferrer Remote +--remote-private-key string private key to use to deploy Transferrer Remote +--remote-rpc string use the given RPC URL to connect to the remote blockchain +--remote-token-decimals uint8 use the given number of token decimals for the Transferrer Remote [defaults to token home's decimals (18 for a new wrapped native home token)] +--remove-minter-admin remove the native minter precompile admin found on remote blockchain genesis +-t, --testnet fuji operate on testnet (alias to fuji) +--use-home string use the given Transferrer's Home Address +--version string tag/branch/commit of Avalanche Interchain Token Transfer (ICTT) to be used (defaults to main branch) +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ## avalanche key @@ -1379,12 +1383,12 @@ avalanche key [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for key | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for key +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` **Subcommands:** @@ -1429,15 +1433,15 @@ avalanche key create [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--file` | string import the key from an existing key file | -| `-f, --force` | overwrite an existing key with the same name | -| `-h, --help` | help for create | -| `--skip-balances` | do not query public network balances for an imported key | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--file string import the key from an existing key file +-f, --force overwrite an existing key with the same name +-h, --help help for create +--skip-balances do not query public network balances for an imported key +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### delete @@ -1453,13 +1457,13 @@ avalanche key delete [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-f, --force` | delete the key without confirmation | -| `-h, --help` | help for delete | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-f, --force delete the key without confirmation +-h, --help help for delete +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### export @@ -1476,13 +1480,13 @@ avalanche key export [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for export | -| `-o, --output` | string write the key to the provided file path | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for export +-o, --output string write the key to the provided file path +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### list @@ -1496,30 +1500,30 @@ avalanche key list [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-a, --all-networks` | list all network addresses | -| `--blockchains` | strings blockchains to show information about (p=p-chain, x=x-chain, c=c-chain, and blockchain names) (default p,x,c) | -| `-c, --cchain` | list C-Chain addresses (default true) | -| `--cluster` | string operate on the given cluster | -| `--devnet` | operate on a devnet network | -| `--endpoint` | string use the given endpoint for network operations | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `-h, --help` | help for list | -| `--keys` | strings list addresses for the given keys | -| `-g, --ledger` | uints list ledger addresses for the given indices (default []) | -| `-l, --local` | operate on a local network | -| `-m, --mainnet` | operate on mainnet | -| `--pchain` | list P-Chain addresses (default true) | -| `--subnets` | strings subnets to show information about (p=p-chain, x=x-chain, c=c-chain, and subnet names) (default p,x,c) | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--tokens` | strings provide balance information for the given token contract addresses (Evm only) (default [Native]) | -| `--use-gwei` | use gwei for EVM balances | -| `-n, --use-nano-avax` | use nano Avax for balances | -| `--xchain` | list X-Chain addresses (default true) | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-a, --all-networks list all network addresses +--blockchains strings blockchains to show information about (p=p-chain, x=x-chain, c=c-chain, and blockchain names) (default p,x,c) +-c, --cchain list C-Chain addresses (default true) +--cluster string operate on the given cluster +--devnet operate on a devnet network +--endpoint string use the given endpoint for network operations +-f, --fuji testnet operate on fuji (alias to testnet +-h, --help help for list +--keys strings list addresses for the given keys +-g, --ledger uints list ledger addresses for the given indices (default []) +-l, --local operate on a local network +-m, --mainnet operate on mainnet +--pchain list P-Chain addresses (default true) +--subnets strings subnets to show information about (p=p-chain, x=x-chain, c=c-chain, and subnet names) (default p,x,c) +-t, --testnet fuji operate on testnet (alias to fuji) +--tokens strings provide balance information for the given token contract addresses (Evm only) (default [Native]) +--use-gwei use gwei for EVM balances +-n, --use-nano-avax use nano Avax for balances +--xchain list X-Chain addresses (default true) +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### transfer @@ -1532,38 +1536,38 @@ avalanche key transfer [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-o, --amount` | float amount to send or receive (AVAX or TOKEN units) | -| `--c-chain-receiver` | receive at C-Chain | -| `--c-chain-sender` | send from C-Chain | -| `--cluster` | string operate on the given cluster | -| `-a, --destination-addr` | string destination address | -| `--destination-key` | string key associated to a destination address | -| `--destination-subnet` | string subnet where the funds will be sent (token transferrer experimental) | -| `--destination-transferrer-address` | string token transferrer address at the destination subnet (token transferrer experimental) | -| `--devnet` | operate on a devnet network | -| `--endpoint` | string use the given endpoint for network operations | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `-h, --help` | help for transfer | -| `-k, --key` | string key associated to the sender or receiver address | -| `-i, --ledger` | uint32 ledger index associated to the sender or receiver address (default 32768) | -| `-l, --local` | operate on a local network | -| `-m, --mainnet` | operate on mainnet | -| `--origin-subnet` | string subnet where the funds belong (token transferrer experimental) | -| `--origin-transferrer-address` | string token transferrer address at the origin subnet (token transferrer experimental) | -| `--p-chain-receiver` | receive at P-Chain | -| `--p-chain-sender` | send from P-Chain | -| `--receiver-blockchain` | string receive at the given CLI blockchain | -| `--receiver-blockchain-id` | string receive at the given blockchain ID/Alias | -| `--sender-blockchain` | string send from the given CLI blockchain | -| `--sender-blockchain-id` | string send from the given blockchain ID/Alias | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--x-chain-receiver` | receive at X-Chain | -| `--x-chain-sender` | send from X-Chain | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-o, --amount float amount to send or receive (AVAX or TOKEN units) +--c-chain-receiver receive at C-Chain +--c-chain-sender send from C-Chain +--cluster string operate on the given cluster +-a, --destination-addr string destination address +--destination-key string key associated to a destination address +--destination-subnet string subnet where the funds will be sent (token transferrer experimental) +--destination-transferrer-address string token transferrer address at the destination subnet (token transferrer experimental) +--devnet operate on a devnet network +--endpoint string use the given endpoint for network operations +-f, --fuji testnet operate on fuji (alias to testnet +-h, --help help for transfer +-k, --key string key associated to the sender or receiver address +-i, --ledger uint32 ledger index associated to the sender or receiver address (default 32768) +-l, --local operate on a local network +-m, --mainnet operate on mainnet +--origin-subnet string subnet where the funds belong (token transferrer experimental) +--origin-transferrer-address string token transferrer address at the origin subnet (token transferrer experimental) +--p-chain-receiver receive at P-Chain +--p-chain-sender send from P-Chain +--receiver-blockchain string receive at the given CLI blockchain +--receiver-blockchain-id string receive at the given blockchain ID/Alias +--sender-blockchain string send from the given CLI blockchain +--sender-blockchain-id string send from the given blockchain ID/Alias +-t, --testnet fuji operate on testnet (alias to fuji) +--x-chain-receiver receive at X-Chain +--x-chain-sender send from X-Chain +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ## avalanche network @@ -1583,12 +1587,12 @@ avalanche network [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for network | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for network +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` **Subcommands:** @@ -1623,13 +1627,13 @@ avalanche network clean [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--hard` | Also clean downloaded avalanchego and plugin binaries | -| `-h, --help` | help for clean | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--hard Also clean downloaded avalanchego and plugin binaries +-h, --help help for clean +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### start @@ -1646,15 +1650,15 @@ avalanche network start [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--avalanchego-path` | string use this avalanchego binary path | -| `--avalanchego-version` | string use this version of avalanchego (ex: v1.17.12) (default "latest") | -| `-h, --help` | help for start | -| `--snapshot-name` | string name of snapshot to use to start the network from (default "default-1654102509") | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--avalanchego-path string use this avalanchego binary path +--avalanchego-version string use this version of avalanchego (ex: v1.17.12) (default "latest") +-h, --help help for start +--snapshot-name string name of snapshot to use to start the network from (default "default-1654102509") +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### status @@ -1668,12 +1672,12 @@ avalanche network status [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for status | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for status +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### stop @@ -1692,14 +1696,14 @@ avalanche network stop [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--dont-save` | do not save snapshot, just stop the network | -| `-h, --help` | help for stop | -| `--snapshot-name` | string name of snapshot to use to save network state into (default "default-1654102509") | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--dont-save do not save snapshot, just stop the network +-h, --help help for stop +--snapshot-name string name of snapshot to use to save network state into (default "default-1654102509") +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ## avalanche node @@ -1717,12 +1721,12 @@ avalanche node [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for node | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for node +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` **Subcommands:** @@ -1852,14 +1856,14 @@ avalanche node addDashboard [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--add-grafana-dashboard` | string path to additional grafana dashboard json file | -| `-h, --help` | help for addDashboard | -| `--subnet` | string subnet that the dasbhoard is intended for (if any) | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--add-grafana-dashboard string path to additional grafana dashboard json file +-h, --help help for addDashboard +--subnet string subnet that the dasbhoard is intended for (if any) +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### create @@ -1885,50 +1889,50 @@ avalanche node create [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--add-grafana-dashboard` | string path to additional grafana dashboard json file | -| `--alternative-key-pair-name` | string key pair name to use if default one generates conflicts | -| `--authorize-access` | authorize CLI to create cloud resources | -| `--auto-replace-keypair` | automatically replaces key pair to access node if previous key pair is not found | -| `--avalanchego-version-from-subnet` | string install latest avalanchego version, that is compatible with the given subnet, on node/s | -| `--aws` | create node/s in AWS cloud | -| `--aws-profile` | string aws profile to use (default "default") | -| `--aws-volume-iops` | int AWS iops (for gp3, io1, and io2 volume types only) (default 3000) | -| `--aws-volume-size` | int AWS volume size in GB (default 1000) | -| `--aws-volume-throughput` | int AWS throughput in MiB/s (for gp3 volume type only) (default 125) | -| `--aws-volume-type` | string AWS volume type (default "gp3") | -| `--bootstrap-ids` | stringArray nodeIDs of bootstrap nodes | -| `--bootstrap-ips` | stringArray IP:port pairs of bootstrap nodes | -| `--cluster` | string operate on the given cluster | -| `--custom-avalanchego-version` | string install given avalanchego version on node/s | -| `--devnet` | operate on a devnet network | -| `--enable-monitoring` | set up Prometheus monitoring for created nodes. This option creates a separate monitoring cloud instance and incures additional cost | -| `--endpoint` | string use the given endpoint for network operations | -| `--etna-devnet` | operate on an etna devnet network | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `--gcp` | create node/s in GCP cloud | -| `--gcp-credentials` | string use given GCP credentials | -| `--gcp-project` | string use given GCP project | -| `--genesis` | string path to genesis file | -| `--grafana-pkg` | string use grafana pkg instead of apt repo(by default), for example https://dl.grafana.com/oss/release/grafana_10.4.1_amd64.deb | -| `-h, --help` | help for create | -| `--latest-avalanchego-pre-release-version` | install latest avalanchego pre-release version on node/s | -| `--latest-avalanchego-version` | install latest avalanchego release version on node/s | -| `--node-type` | string cloud instance type. Use 'default' to use recommended default instance type | -| `--num-apis` | ints number of API nodes(nodes without stake) to create in the new Devnet | -| `--num-validators` | ints number of nodes to create per region(s). Use comma to separate multiple numbers for each region in the same order as --region flag | -| `--partial-sync` | primary network partial sync (default true) | -| `--public-http-port` | allow public access to avalanchego HTTP port | -| `--region` | strings create node(s) in given region(s). Use comma to separate multiple regions | -| `--ssh-agent-identity` | string use given ssh identity(only for ssh agent). If not set, default will be used | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--upgrade` | string path to upgrade file | -| `--use-ssh-agent` | use ssh agent(ex: Yubikey) for ssh auth | -| `--use-static-ip` | attach static Public IP on cloud servers (default true) | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--add-grafana-dashboard string path to additional grafana dashboard json file +--alternative-key-pair-name string key pair name to use if default one generates conflicts +--authorize-access authorize CLI to create cloud resources +--auto-replace-keypair automatically replaces key pair to access node if previous key pair is not found +--avalanchego-version-from-subnet string install latest avalanchego version, that is compatible with the given subnet, on node/s +--aws create node/s in AWS cloud +--aws-profile string aws profile to use (default "default") +--aws-volume-iops int AWS iops (for gp3, io1, and io2 volume types only) (default 3000) +--aws-volume-size int AWS volume size in GB (default 1000) +--aws-volume-throughput int AWS throughput in MiB/s (for gp3 volume type only) (default 125) +--aws-volume-type string AWS volume type (default "gp3") +--bootstrap-ids stringArray nodeIDs of bootstrap nodes +--bootstrap-ips stringArray IP:port pairs of bootstrap nodes +--cluster string operate on the given cluster +--custom-avalanchego-version string install given avalanchego version on node/s +--devnet operate on a devnet network +--enable-monitoring set up Prometheus monitoring for created nodes. This option creates a separate monitoring cloud instance and incures additional cost +--endpoint string use the given endpoint for network operations +--etna-devnet operate on an etna devnet network +-f, --fuji testnet operate on fuji (alias to testnet +--gcp create node/s in GCP cloud +--gcp-credentials string use given GCP credentials +--gcp-project string use given GCP project +--genesis string path to genesis file +--grafana-pkg string use grafana pkg instead of apt repo(by default), for example https://dl.grafana.com/oss/release/grafana_10.4.1_amd64.deb +-h, --help help for create +--latest-avalanchego-pre-release-version install latest avalanchego pre-release version on node/s +--latest-avalanchego-version install latest avalanchego release version on node/s +--node-type string cloud instance type. Use 'default' to use recommended default instance type +--num-apis ints number of API nodes(nodes without stake) to create in the new Devnet +--num-validators ints number of nodes to create per region(s). Use comma to separate multiple numbers for each region in the same order as --region flag +--partial-sync primary network partial sync (default true) +--public-http-port allow public access to avalanchego HTTP port +--region strings create node(s) in given region(s). Use comma to separate multiple regions +--ssh-agent-identity string use given ssh identity(only for ssh agent). If not set, default will be used +-t, --testnet fuji operate on testnet (alias to fuji) +--upgrade string path to upgrade file +--use-ssh-agent use ssh agent(ex: Yubikey) for ssh auth +--use-static-ip attach static Public IP on cloud servers (default true) +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### destroy @@ -1945,17 +1949,17 @@ avalanche node destroy [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--all` | destroy all existing clusters created by Avalanche CLI | -| `--authorize-access` | authorize CLI to release cloud resources | -| `-y, --authorize-all` | authorize all CLI requests | -| `--authorize-remove` | authorize CLI to remove all local files related to cloud nodes | -| `--aws-profile` | string aws profile to use (default "default") | -| `-h, --help` | help for destroy | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--all destroy all existing clusters created by Avalanche CLI +--authorize-access authorize CLI to release cloud resources +-y, --authorize-all authorize all CLI requests +--authorize-remove authorize CLI to remove all local files related to cloud nodes +--aws-profile string aws profile to use (default "default") +-h, --help help for destroy +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### devnet @@ -1971,12 +1975,12 @@ avalanche node devnet [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for devnet | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for devnet +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` **Subcommands:** @@ -2002,15 +2006,15 @@ avalanche node devnet deploy [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for deploy | -| `--no-checks` | do not check for healthy status or rpc compatibility of nodes against subnet | -| `--subnet-aliases` | strings additional subnet aliases to be used for RPC calls in addition to subnet blockchain name | -| `--subnet-only` | only create a subnet | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for deploy +--no-checks do not check for healthy status or rpc compatibility of nodes against subnet +--subnet-aliases strings additional subnet aliases to be used for RPC calls in addition to subnet blockchain name +--subnet-only only create a subnet +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` #### devnet wiz @@ -2025,68 +2029,68 @@ avalanche node devnet wiz [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--add-grafana-dashboard` | string path to additional grafana dashboard json file | -| `--alternative-key-pair-name` | string key pair name to use if default one generates conflicts | -| `--authorize-access` | authorize CLI to create cloud resources | -| `--auto-replace-keypair` | automatically replaces key pair to access node if previous key pair is not found | -| `--aws` | create node/s in AWS cloud | -| `--aws-profile` | string aws profile to use (default "default") | -| `--aws-volume-iops` | int AWS iops (for gp3, io1, and io2 volume types only) (default 3000) | -| `--aws-volume-size` | int AWS volume size in GB (default 1000) | -| `--aws-volume-throughput` | int AWS throughput in MiB/s (for gp3 volume type only) (default 125) | -| `--aws-volume-type` | string AWS volume type (default "gp3") | -| `--chain-config` | string path to the chain configuration for subnet | -| `--custom-avalanchego-version` | string install given avalanchego version on node/s | -| `--custom-subnet` | use a custom VM as the subnet virtual machine | -| `--custom-vm-branch` | string custom vm branch or commit | -| `--custom-vm-build-script` | string custom vm build-script | -| `--custom-vm-repo-url` | string custom vm repository url | -| `--default-validator-params` | use default weight/start/duration params for subnet validator | -| `--deploy-teleporter-messenger` | deploy Interchain Messenger (default true) | -| `--deploy-teleporter-registry` | deploy Interchain Registry (default true) | -| `--enable-monitoring` | set up Prometheus monitoring for created nodes. Please note that this option creates a separate monitoring instance and incures additional cost | -| `--evm-chain-id` | uint chain ID to use with Subnet-EVM | -| `--evm-defaults` | use default production settings with Subnet-EVM | -| `--evm-production-defaults` | use default production settings for your blockchain | -| `--evm-subnet` | use Subnet-EVM as the subnet virtual machine | -| `--evm-test-defaults` | use default test settings for your blockchain | -| `--evm-token` | string token name to use with Subnet-EVM | -| `--evm-version` | string version of Subnet-EVM to use | -| `--force-subnet-create` | overwrite the existing subnet configuration if one exists | -| `--gcp` | create node/s in GCP cloud | -| `--gcp-credentials` | string use given GCP credentials | -| `--gcp-project` | string use given GCP project | -| `--grafana-pkg` | string use grafana pkg instead of apt repo(by default), for example https://dl.grafana.com/oss/release/grafana_10.4.1_amd64.deb | -| `-h, --help` | help for wiz | -| `--latest-avalanchego-pre-release-version` | install latest avalanchego pre-release version on node/s | -| `--latest-avalanchego-version` | install latest avalanchego release version on node/s | -| `--latest-evm-version` | use latest Subnet-EVM released version | -| `--latest-pre-released-evm-version` | use latest Subnet-EVM pre-released version | -| `--node-config` | string path to avalanchego node configuration for subnet | -| `--node-type` | string cloud instance type. Use 'default' to use recommended default instance type | -| `--num-apis` | ints number of API nodes(nodes without stake) to create in the new Devnet | -| `--num-validators` | ints number of nodes to create per region(s). Use comma to separate multiple numbers for each region in the same order as --region flag | -| `--public-http-port` | allow public access to avalanchego HTTP port | -| `--region` | strings create node/s in given region(s). Use comma to separate multiple regions | -| `--relayer` | run AWM relayer when deploying the vm | -| `--ssh-agent-identity` | string use given ssh identity(only for ssh agent). If not set, default will be used. | -| `--subnet-aliases` | strings additional subnet aliases to be used for RPC calls in addition to subnet blockchain name | -| `--subnet-config` | string path to the subnet configuration for subnet | -| `--subnet-genesis` | string file path of the subnet genesis | -| `--teleporter` | generate a teleporter-ready vm | -| `--teleporter-messenger-contract-address-path` | string path to a teleporter messenger contract address file | -| `--teleporter-messenger-deployer-address-path` | string path to a teleporter messenger deployer address file | -| `--teleporter-messenger-deployer-tx-path` | string path to a teleporter messenger deployer tx file | -| `--teleporter-registry-bytecode-path` | string path to a teleporter registry bytecode file | -| `--teleporter-version` | string teleporter version to deploy (default "latest") | -| `--use-ssh-agent` | use ssh agent for ssh | -| `--use-static-ip` | attach static Public IP on cloud servers (default true) | -| `--validators` | strings deploy subnet into given comma separated list of validators. defaults to all cluster nodes | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--add-grafana-dashboard string path to additional grafana dashboard json file +--alternative-key-pair-name string key pair name to use if default one generates conflicts +--authorize-access authorize CLI to create cloud resources +--auto-replace-keypair automatically replaces key pair to access node if previous key pair is not found +--aws create node/s in AWS cloud +--aws-profile string aws profile to use (default "default") +--aws-volume-iops int AWS iops (for gp3, io1, and io2 volume types only) (default 3000) +--aws-volume-size int AWS volume size in GB (default 1000) +--aws-volume-throughput int AWS throughput in MiB/s (for gp3 volume type only) (default 125) +--aws-volume-type string AWS volume type (default "gp3") +--chain-config string path to the chain configuration for subnet +--custom-avalanchego-version string install given avalanchego version on node/s +--custom-subnet use a custom VM as the subnet virtual machine +--custom-vm-branch string custom vm branch or commit +--custom-vm-build-script string custom vm build-script +--custom-vm-repo-url string custom vm repository url +--default-validator-params use default weight/start/duration params for subnet validator +--deploy-teleporter-messenger deploy Interchain Messenger (default true) +--deploy-teleporter-registry deploy Interchain Registry (default true) +--enable-monitoring set up Prometheus monitoring for created nodes. Please note that this option creates a separate monitoring instance and incures additional cost +--evm-chain-id uint chain ID to use with Subnet-EVM +--evm-defaults use default production settings with Subnet-EVM +--evm-production-defaults use default production settings for your blockchain +--evm-subnet use Subnet-EVM as the subnet virtual machine +--evm-test-defaults use default test settings for your blockchain +--evm-token string token name to use with Subnet-EVM +--evm-version string version of Subnet-EVM to use +--force-subnet-create overwrite the existing subnet configuration if one exists +--gcp create node/s in GCP cloud +--gcp-credentials string use given GCP credentials +--gcp-project string use given GCP project +--grafana-pkg string use grafana pkg instead of apt repo(by default), for example https://dl.grafana.com/oss/release/grafana_10.4.1_amd64.deb +-h, --help help for wiz +--latest-avalanchego-pre-release-version install latest avalanchego pre-release version on node/s +--latest-avalanchego-version install latest avalanchego release version on node/s +--latest-evm-version use latest Subnet-EVM released version +--latest-pre-released-evm-version use latest Subnet-EVM pre-released version +--node-config string path to avalanchego node configuration for subnet +--node-type string cloud instance type. Use 'default' to use recommended default instance type +--num-apis ints number of API nodes(nodes without stake) to create in the new Devnet +--num-validators ints number of nodes to create per region(s). Use comma to separate multiple numbers for each region in the same order as --region flag +--public-http-port allow public access to avalanchego HTTP port +--region strings create node/s in given region(s). Use comma to separate multiple regions +--relayer run AWM relayer when deploying the vm +--ssh-agent-identity string use given ssh identity(only for ssh agent). If not set, default will be used. +--subnet-aliases strings additional subnet aliases to be used for RPC calls in addition to subnet blockchain name +--subnet-config string path to the subnet configuration for subnet +--subnet-genesis string file path of the subnet genesis +--teleporter generate a teleporter-ready vm +--teleporter-messenger-contract-address-path string path to a teleporter messenger contract address file +--teleporter-messenger-deployer-address-path string path to a teleporter messenger deployer address file +--teleporter-messenger-deployer-tx-path string path to a teleporter messenger deployer tx file +--teleporter-registry-bytecode-path string path to a teleporter registry bytecode file +--teleporter-version string teleporter version to deploy (default "latest") +--use-ssh-agent use ssh agent for ssh +--use-static-ip attach static Public IP on cloud servers (default true) +--validators strings deploy subnet into given comma separated list of validators. defaults to all cluster nodes +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### export @@ -2107,15 +2111,15 @@ avalanche node export [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--file` | string specify the file to export the cluster configuration to | -| `--force` | overwrite the file if it exists | -| `-h, --help` | help for export | -| `--include-secrets` | include keys in the export | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--file string specify the file to export the cluster configuration to +--force overwrite the file if it exists +-h, --help help for export +--include-secrets include keys in the export +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### import @@ -2137,13 +2141,13 @@ avalanche node import [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--file` | string specify the file to export the cluster configuration to | -| `-h, --help` | help for import | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--file string specify the file to export the cluster configuration to +-h, --help help for import +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### list @@ -2158,12 +2162,12 @@ avalanche node list [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for list | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for list +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### loadtest @@ -2178,12 +2182,12 @@ avalanche node loadtest [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for loadtest | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for loadtest +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` **Subcommands:** @@ -2216,24 +2220,24 @@ avalanche node loadtest start [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--authorize-access` | authorize CLI to create cloud resources | -| `--aws` | create loadtest node in AWS cloud | -| `--aws-profile` | string aws profile to use (default "default") | -| `--gcp` | create loadtest in GCP cloud | -| `-h, --help` | help for start | -| `--load-test-branch` | string load test branch or commit | -| `--load-test-build-cmd` | string command to build load test binary | -| `--load-test-cmd` | string command to run load test | -| `--load-test-repo` | string load test repo url to use | -| `--node-type` | string cloud instance type for loadtest script | -| `--region` | string create load test node in a given region | -| `--ssh-agent-identity` | string use given ssh identity(only for ssh agent). If not set, default will be used | -| `--use-ssh-agent` | use ssh agent(ex: Yubikey) for ssh auth | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--authorize-access authorize CLI to create cloud resources +--aws create loadtest node in AWS cloud +--aws-profile string aws profile to use (default "default") +--gcp create loadtest in GCP cloud +-h, --help help for start +--load-test-branch string load test branch or commit +--load-test-build-cmd string command to build load test binary +--load-test-cmd string command to run load test +--load-test-repo string load test repo url to use +--node-type string cloud instance type for loadtest script +--region string create load test node in a given region +--ssh-agent-identity string use given ssh identity(only for ssh agent). If not set, default will be used +--use-ssh-agent use ssh agent(ex: Yubikey) for ssh auth +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` #### loadtest stop @@ -2249,13 +2253,13 @@ avalanche node loadtest stop [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for stop | -| `--load-test` | strings stop specified load test node(s). Use comma to separate multiple load test instance names | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for stop +--load-test strings stop specified load test node(s). Use comma to separate multiple load test instance names +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### local @@ -2270,12 +2274,12 @@ avalanche node local [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for local | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for local +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` **Subcommands:** @@ -2305,12 +2309,12 @@ avalanche node local destroy [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for destroy | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for destroy +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` #### local start @@ -2332,32 +2336,32 @@ avalanche node local start [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--avalanchego-path` | string use this avalanchego binary path | -| `--bootstrap-id` | stringArray nodeIDs of bootstrap nodes | -| `--bootstrap-ip` | stringArray IP:port pairs of bootstrap nodes | -| `--cluster` | string operate on the given cluster | -| `--custom-avalanchego-version` | string install given avalanchego version on node/s | -| `--devnet` | operate on a devnet network | -| `--endpoint` | string use the given endpoint for network operations | -| `--etna-devnet` | operate on an etna devnet network | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `--genesis` | string path to genesis file | -| `-h, --help` | help for start | -| `--latest-avalanchego-pre-release-version` | install latest avalanchego pre-release version on node/s | -| `--latest-avalanchego-version` | install latest avalanchego release version on node/s | -| `--node-config` | string path to common avalanchego config settings for all nodes | -| `--num-nodes` | uint32 number of nodes to start (default 1) | -| `--partial-sync` | primary network partial sync (default true) | -| `--staking-cert-key-path` | string path to provided staking cert key for node | -| `--staking-signer-key-path` | string path to provided staking signer key for node | -| `--staking-tls-key-path` | string path to provided staking tls key for node | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--upgrade` | string path to upgrade file | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--avalanchego-path string use this avalanchego binary path +--bootstrap-id stringArray nodeIDs of bootstrap nodes +--bootstrap-ip stringArray IP:port pairs of bootstrap nodes +--cluster string operate on the given cluster +--custom-avalanchego-version string install given avalanchego version on node/s +--devnet operate on a devnet network +--endpoint string use the given endpoint for network operations +--etna-devnet operate on an etna devnet network +-f, --fuji testnet operate on fuji (alias to testnet +--genesis string path to genesis file +-h, --help help for start +--latest-avalanchego-pre-release-version install latest avalanchego pre-release version on node/s +--latest-avalanchego-version install latest avalanchego release version on node/s +--node-config string path to common avalanchego config settings for all nodes +--num-nodes uint32 number of nodes to start (default 1) +--partial-sync primary network partial sync (default true) +--staking-cert-key-path string path to provided staking cert key for node +--staking-signer-key-path string path to provided staking signer key for node +--staking-tls-key-path string path to provided staking tls key for node +-t, --testnet fuji operate on testnet (alias to fuji) +--upgrade string path to upgrade file +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` #### local status @@ -2370,14 +2374,14 @@ avalanche node local status [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--blockchain` | string specify the blockchain the node is syncing with | -| `-h, --help` | help for status | -| `--subnet` | string specify the blockchain the node is syncing with | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--blockchain string specify the blockchain the node is syncing with +-h, --help help for status +--subnet string specify the blockchain the node is syncing with +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` #### local stop @@ -2390,12 +2394,12 @@ avalanche node local stop [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for stop | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for stop +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` #### local track @@ -2408,13 +2412,13 @@ avalanche node local track [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--avalanchego-path` | string use this avalanchego binary path | -| `-h, --help` | help for track | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--avalanchego-path string use this avalanchego binary path +-h, --help help for track +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### refresh-ips @@ -2430,13 +2434,13 @@ avalanche node refresh-ips [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--aws-profile` | string aws profile to use (default "default") | -| `-h, --help` | help for refresh-ips | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--aws-profile string aws profile to use (default "default") +-h, --help help for refresh-ips +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### resize @@ -2451,15 +2455,15 @@ avalanche node resize [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--aws-profile` | string aws profile to use (default "default") | -| `--disk-size` | string Disk size to resize in Gb (e.g. 1000Gb) | -| `-h, --help` | help for resize | -| `--node-type` | string Node type to resize (e.g. t3.2xlarge) | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--aws-profile string aws profile to use (default "default") +--disk-size string Disk size to resize in Gb (e.g. 1000Gb) +-h, --help help for resize +--node-type string Node type to resize (e.g. t3.2xlarge) +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### scp @@ -2481,16 +2485,16 @@ avalanche node scp [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--compress` | use compression for ssh | -| `-h, --help` | help for scp | -| `--recursive` | copy directories recursively | -| `--with-loadtest` | include loadtest node for scp cluster operations | -| `--with-monitor` | include monitoring node for scp cluster operations | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--compress use compression for ssh +-h, --help help for scp +--recursive copy directories recursively +--with-loadtest include loadtest node for scp cluster operations +--with-monitor include monitoring node for scp cluster operations +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### ssh @@ -2508,15 +2512,15 @@ avalanche node ssh [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for ssh | -| `--parallel` | run ssh command on all nodes in parallel | -| `--with-loadtest` | include loadtest node for ssh cluster operations | -| `--with-monitor` | include monitoring node for ssh cluster operations | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for ssh +--parallel run ssh command on all nodes in parallel +--with-loadtest include loadtest node for ssh cluster operations +--with-monitor include monitoring node for ssh cluster operations +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### status @@ -2534,14 +2538,14 @@ avalanche node status [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--blockchain` | string specify the blockchain the node is syncing with | -| `-h, --help` | help for status | -| `--subnet` | string specify the blockchain the node is syncing with | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--blockchain string specify the blockchain the node is syncing with +-h, --help help for status +--subnet string specify the blockchain the node is syncing with +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### sync @@ -2557,15 +2561,15 @@ avalanche node sync [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for sync | -| `--no-checks` | do not check for bootstrapped/healthy status or rpc compatibility of nodes against subnet | -| `--subnet-aliases` | strings subnet alias to be used for RPC calls. defaults to subnet blockchain ID | -| `--validators` | strings sync subnet into given comma separated list of validators. defaults to all cluster nodes | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for sync +--no-checks do not check for bootstrapped/healthy status or rpc compatibility of nodes against subnet +--subnet-aliases strings subnet alias to be used for RPC calls. defaults to subnet blockchain ID +--validators strings sync subnet into given comma separated list of validators. defaults to all cluster nodes +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### update @@ -2583,12 +2587,12 @@ avalanche node update [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for update | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for update +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` **Subcommands:** @@ -2611,12 +2615,12 @@ avalanche node update subnet [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for subnet | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for subnet +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### upgrade @@ -2634,12 +2638,12 @@ avalanche node upgrade [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for upgrade | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for upgrade +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### validate @@ -2657,12 +2661,12 @@ avalanche node validate [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for validate | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for validate +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` **Subcommands:** @@ -2694,19 +2698,19 @@ avalanche node validate primary [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-e, --ewoq` | use ewoq key [fuji/devnet only] | -| `-h, --help` | help for primary | -| `-k, --key` | string select the key to use [fuji only] | -| `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) | -| `--ledger-addrs` | strings use the given ledger addresses | -| `--stake-amount` | uint how many AVAX to stake in the validator | -| `--staking-period` | duration how long validator validates for after start time | -| `--start-time` | string UTC start time when this validator starts validating, in 'YYYY-MM-DD HH:MM:SS' format | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-e, --ewoq use ewoq key [fuji/devnet only] +-h, --help help for primary +-k, --key string select the key to use [fuji only] +-g, --ledger use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) +--ledger-addrs strings use the given ledger addresses +--stake-amount uint how many AVAX to stake in the validator +--staking-period duration how long validator validates for after start time +--start-time string UTC start time when this validator starts validating, in 'YYYY-MM-DD HH:MM:SS' format +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` #### validate subnet @@ -2727,23 +2731,23 @@ avalanche node validate subnet [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--default-validator-params` | use default weight/start/duration params for subnet validator | -| `-e, --ewoq` | use ewoq key [fuji/devnet only] | -| `-h, --help` | help for subnet | -| `-k, --key` | string select the key to use [fuji/devnet only] | -| `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) | -| `--ledger-addrs` | strings use the given ledger addresses | -| `--no-checks` | do not check for bootstrapped status or healthy status | -| `--no-validation-checks` | do not check if subnet is already synced or validated (default true) | -| `--stake-amount` | uint how many AVAX to stake in the validator | -| `--staking-period` | duration how long validator validates for after start time | -| `--start-time` | string UTC start time when this validator starts validating, in 'YYYY-MM-DD HH:MM:SS' format | -| `--validators` | strings validate subnet for the given comma separated list of validators. defaults to all cluster nodes | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--default-validator-params use default weight/start/duration params for subnet validator +-e, --ewoq use ewoq key [fuji/devnet only] +-h, --help help for subnet +-k, --key string select the key to use [fuji/devnet only] +-g, --ledger use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) +--ledger-addrs strings use the given ledger addresses +--no-checks do not check for bootstrapped status or healthy status +--no-validation-checks do not check if subnet is already synced or validated (default true) +--stake-amount uint how many AVAX to stake in the validator +--staking-period duration how long validator validates for after start time +--start-time string UTC start time when this validator starts validating, in 'YYYY-MM-DD HH:MM:SS' format +--validators strings validate subnet for the given comma separated list of validators. defaults to all cluster nodes +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### whitelist @@ -2760,15 +2764,15 @@ avalanche node whitelist [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-y, --current-ip` | whitelist current host ip | -| `-h, --help` | help for whitelist | -| `--ip` | string ip address to whitelist | -| `--ssh` | string ssh public key to whitelist | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-y, --current-ip whitelist current host ip +-h, --help help for whitelist +--ip string ip address to whitelist +--ssh string ssh public key to whitelist +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ## avalanche primary @@ -2782,12 +2786,12 @@ avalanche primary [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for primary | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for primary +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` **Subcommands:** @@ -2807,28 +2811,28 @@ avalanche primary addValidator [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--cluster` | string operate on the given cluster | -| `--delegation-fee` | uint32 set the delegation fee (20 000 is equivalent to 2%) | -| `--devnet` | operate on a devnet network | -| `--endpoint` | string use the given endpoint for network operations | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `-h, --help` | help for addValidator | -| `-k, --key` | string select the key to use [fuji only] | -| `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji) | -| `--ledger-addrs` | strings use the given ledger addresses | -| `-m, --mainnet` | operate on mainnet | -| `--nodeID` | string set the NodeID of the validator to add | -| `--proof-of-possession` | string set the BLS proof of possession of the validator to add | -| `--public-key` | string set the BLS public key of the validator to add | -| `--staking-period` | duration how long this validator will be staking | -| `--start-time` | string UTC start time when this validator starts validating, in 'YYYY-MM-DD HH:MM:SS' format | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--weight` | uint set the staking weight of the validator to add | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--cluster string operate on the given cluster +--delegation-fee uint32 set the delegation fee (20 000 is equivalent to 2%) +--devnet operate on a devnet network +--endpoint string use the given endpoint for network operations +-f, --fuji testnet operate on fuji (alias to testnet +-h, --help help for addValidator +-k, --key string select the key to use [fuji only] +-g, --ledger use ledger instead of key (always true on mainnet, defaults to false on fuji) +--ledger-addrs strings use the given ledger addresses +-m, --mainnet operate on mainnet +--nodeID string set the NodeID of the validator to add +--proof-of-possession string set the BLS proof of possession of the validator to add +--public-key string set the BLS public key of the validator to add +--staking-period duration how long this validator will be staking +--start-time string UTC start time when this validator starts validating, in 'YYYY-MM-DD HH:MM:SS' format +-t, --testnet fuji operate on testnet (alias to fuji) +--weight uint set the staking weight of the validator to add +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### describe @@ -2841,14 +2845,14 @@ avalanche primary describe [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--cluster` | string operate on the given cluster | -| `-h, --help` | help for describe | -| `-l, --local` | operate on a local network | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--cluster string operate on the given cluster +-h, --help help for describe +-l, --local operate on a local network +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ## avalanche subnet @@ -2869,12 +2873,12 @@ avalanche subnet [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for subnet | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for subnet +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` **Subcommands:** @@ -2980,47 +2984,47 @@ avalanche subnet addValidator [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--aggregator-extra-endpoints` | strings endpoints for extra nodes that are needed in signature aggregation | -| `--aggregator-log-level` | string log level to use with signature aggregator (default "Off") | -| `--balance` | uint set the AVAX balance of the validator that will be used for continuous fee to P-Chain | -| `--blockchain-genesis-key` | use genesis allocated key to pay fees for completing the validator's registration (blockchain gas token) | -| `--blockchain-key` | string CLI stored key to use to pay fees for completing the validator's registration (blockchain gas token) | -| `--blockchain-private-key` | string private key to use to pay fees for completing the validator's registration (blockchain gas token) | -| `--bls-proof-of-possession` | string set the BLS proof of possession of the validator to add | -| `--bls-public-key` | string set the BLS public key of the validator to add | -| `--cluster` | string operate on the given cluster | -| `--default-duration` | (for non sovereign blockchain) set duration so as to validate until primary validator ends its period | -| `--default-start-time` | (for non sovereign blockchain) use default start time for subnet validator (5 minutes later for fuji & mainnet, 30 seconds later for devnet) | -| `--default-validator-params` | (for non sovereign blockchain) use default weight/start/duration params for subnet validator | -| `--delegation-fee` | uint16 (PoS only) delegation fee (in bips) (default 100) | -| `--devnet` | operate on a devnet network | -| `--disable-owner` | string P-Chain address that will able to disable the validator with a P-Chain transaction | -| `--endpoint` | string use the given endpoint for network operations | -| `-e, --ewoq` | use ewoq key [fuji/devnet only] | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `-h, --help` | help for addValidator | -| `-k, --key` | string select the key to use [fuji/devnet only] | -| `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) | -| `--ledger-addrs` | strings use the given ledger addresses | -| `-l, --local` | operate on a local network | -| `-m, --mainnet` | operate on mainnet | -| `--node-endpoint` | string gather node id/bls from publicly available avalanchego apis on the given endpoint | -| `--node-id` | string node-id of the validator to add | -| `--output-tx-path` | string (for non sovereign blockchain) file path of the add validator tx | -| `--remaining-balance-owner` | string P-Chain address that will receive any leftover AVAX from the validator when it is removed from Subnet | -| `--rpc` | string connect to validator manager at the given rpc endpoint | -| `--stake-amount` | uint (PoS only) amount of tokens to stake | -| `--staking-period` | duration how long this validator will be staking | -| `--start-time` | string (for non sovereign blockchain) UTC start time when this validator starts validating, in 'YYYY-MM-DD HH:MM:SS' format | -| `--subnet-auth-keys` | strings (for non sovereign blockchain) control keys that will be used to authenticate add validator tx | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--wait-for-tx-acceptance` | (for non sovereign blockchain) just issue the add validator tx, without waiting for its acceptance (default true) | -| `--weight` | uint set the staking weight of the validator to add (default 20) | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--aggregator-extra-endpoints strings endpoints for extra nodes that are needed in signature aggregation +--aggregator-log-level string log level to use with signature aggregator (default "Off") +--balance uint set the AVAX balance of the validator that will be used for continuous fee to P-Chain +--blockchain-genesis-key use genesis allocated key to pay fees for completing the validator's registration (blockchain gas token) +--blockchain-key string CLI stored key to use to pay fees for completing the validator's registration (blockchain gas token) +--blockchain-private-key string private key to use to pay fees for completing the validator's registration (blockchain gas token) +--bls-proof-of-possession string set the BLS proof of possession of the validator to add +--bls-public-key string set the BLS public key of the validator to add +--cluster string operate on the given cluster +--default-duration (for non sovereign blockchain) set duration so as to validate until primary validator ends its period +--default-start-time (for non sovereign blockchain) use default start time for subnet validator (5 minutes later for fuji & mainnet, 30 seconds later for devnet) +--default-validator-params (for non sovereign blockchain) use default weight/start/duration params for subnet validator +--delegation-fee uint16 (PoS only) delegation fee (in bips) (default 100) +--devnet operate on a devnet network +--disable-owner string P-Chain address that will able to disable the validator with a P-Chain transaction +--endpoint string use the given endpoint for network operations +-e, --ewoq use ewoq key [fuji/devnet only] +-f, --fuji testnet operate on fuji (alias to testnet +-h, --help help for addValidator +-k, --key string select the key to use [fuji/devnet only] +-g, --ledger use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) +--ledger-addrs strings use the given ledger addresses +-l, --local operate on a local network +-m, --mainnet operate on mainnet +--node-endpoint string gather node id/bls from publicly available avalanchego apis on the given endpoint +--node-id string node-id of the validator to add +--output-tx-path string (for non sovereign blockchain) file path of the add validator tx +--remaining-balance-owner string P-Chain address that will receive any leftover AVAX from the validator when it is removed from Subnet +--rpc string connect to validator manager at the given rpc endpoint +--stake-amount uint (PoS only) amount of tokens to stake +--staking-period duration how long this validator will be staking +--start-time string (for non sovereign blockchain) UTC start time when this validator starts validating, in 'YYYY-MM-DD HH:MM:SS' format +--subnet-auth-keys strings (for non sovereign blockchain) control keys that will be used to authenticate add validator tx +-t, --testnet fuji operate on testnet (alias to fuji) +--wait-for-tx-acceptance (for non sovereign blockchain) just issue the add validator tx, without waiting for its acceptance (default true) +--weight uint set the staking weight of the validator to add (default 20) +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### changeOwner @@ -3033,28 +3037,28 @@ avalanche subnet changeOwner [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--cluster` | string operate on the given cluster | -| `--control-keys` | strings addresses that may make subnet changes | -| `--devnet` | operate on a devnet network | -| `--endpoint` | string use the given endpoint for network operations | -| `-e, --ewoq` | use ewoq key [fuji/devnet] | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `-h, --help` | help for changeOwner | -| `-k, --key` | string select the key to use [fuji/devnet] | -| `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) | -| `--ledger-addrs` | strings use the given ledger addresses | -| `-l, --local` | operate on a local network | -| `-m, --mainnet` | operate on mainnet | -| `--output-tx-path` | string file path of the transfer subnet ownership tx | -| `-s, --same-control-key` | use the fee-paying key as control key | -| `--subnet-auth-keys` | strings control keys that will be used to authenticate transfer subnet ownership tx | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--threshold` | uint32 required number of control key signatures to make subnet changes | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--cluster string operate on the given cluster +--control-keys strings addresses that may make subnet changes +--devnet operate on a devnet network +--endpoint string use the given endpoint for network operations +-e, --ewoq use ewoq key [fuji/devnet] +-f, --fuji testnet operate on fuji (alias to testnet +-h, --help help for changeOwner +-k, --key string select the key to use [fuji/devnet] +-g, --ledger use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) +--ledger-addrs strings use the given ledger addresses +-l, --local operate on a local network +-m, --mainnet operate on mainnet +--output-tx-path string file path of the transfer subnet ownership tx +-s, --same-control-key use the fee-paying key as control key +--subnet-auth-keys strings control keys that will be used to authenticate transfer subnet ownership tx +-t, --testnet fuji operate on testnet (alias to fuji) +--threshold uint32 required number of control key signatures to make subnet changes +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### changeWeight @@ -3069,25 +3073,25 @@ avalanche subnet changeWeight [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--cluster` | string operate on the given cluster | -| `--devnet` | operate on a devnet network | -| `--endpoint` | string use the given endpoint for network operations | -| `-e, --ewoq` | use ewoq key [fuji/devnet only] | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `-h, --help` | help for changeWeight | -| `-k, --key` | string select the key to use [fuji/devnet only] | -| `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) | -| `--ledger-addrs` | strings use the given ledger addresses | -| `-l, --local` | operate on a local network | -| `-m, --mainnet` | operate on mainnet | -| `--node-id` | string node-id of the validator | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--weight` | uint set the new staking weight of the validator (default 20) | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--cluster string operate on the given cluster +--devnet operate on a devnet network +--endpoint string use the given endpoint for network operations +-e, --ewoq use ewoq key [fuji/devnet only] +-f, --fuji testnet operate on fuji (alias to testnet +-h, --help help for changeWeight +-k, --key string select the key to use [fuji/devnet only] +-g, --ledger use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) +--ledger-addrs strings use the given ledger addresses +-l, --local operate on a local network +-m, --mainnet operate on mainnet +--node-id string node-id of the validator +-t, --testnet fuji operate on testnet (alias to fuji) +--weight uint set the new staking weight of the validator (default 20) +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### configure @@ -3103,16 +3107,16 @@ avalanche subnet configure [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--chain-config` | string path to the chain configuration | -| `-h, --help` | help for configure | -| `--node-config` | string path to avalanchego node configuration | -| `--per-node-chain-config` | string path to per node chain configuration for local network | -| `--subnet-config` | string path to the subnet configuration | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--chain-config string path to the chain configuration +-h, --help help for configure +--node-config string path to avalanchego node configuration +--per-node-chain-config string path to per node chain configuration for local network +--subnet-config string path to the subnet configuration +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### create @@ -3135,41 +3139,41 @@ avalanche subnet create [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--custom` | use a custom VM template | -| `--custom-vm-branch` | string custom vm branch or commit | -| `--custom-vm-build-script` | string custom vm build-script | -| `--custom-vm-path` | string file path of custom vm to use | -| `--custom-vm-repo-url` | string custom vm repository url | -| `--debug` | enable blockchain debugging (default true) | -| `--evm` | use the Subnet-EVM as the base template | -| `--evm-chain-id` | uint chain ID to use with Subnet-EVM | -| `--evm-defaults` | deprecation notice: use '--production-defaults' | -| `--evm-token` | string token symbol to use with Subnet-EVM | -| `--external-gas-token` | use a gas token from another blockchain | -| `-f, --force` | overwrite the existing configuration if one exists | -| `--from-github-repo` | generate custom VM binary from github repository | -| `--genesis` | string file path of genesis to use | -| `-h, --help` | help for create | -| `--icm-registry-at-genesis` | setup ICM registry smart contract on genesis [experimental] | -| `--latest` | use latest Subnet-EVM released version, takes precedence over --vm-version | -| `--pre-release` | use latest Subnet-EVM pre-released version, takes precedence over --vm-version | -| `--production-defaults` | use default production settings for your blockchain | -| `--proof-of-authority` | use proof of authority(PoA) for validator management | -| `--proof-of-stake` | use proof of stake(PoS) for validator management | -| `--proxy-contract-owner` | string EVM address that controls ProxyAdmin for TransparentProxy of ValidatorManager contract | -| `--reward-basis-points` | uint (PoS only) reward basis points for PoS Reward Calculator (default 100) | -| `--sovereign` | set to false if creating non-sovereign blockchain (default true) | -| `--teleporter` | interoperate with other blockchains using teleporter | -| `--test-defaults` | use default test settings for your blockchain | -| `--validator-manager-owner` | string EVM address that controls Validator Manager Owner | -| `--vm` | string file path of custom vm to use. alias to custom-vm-path | -| `--vm-version` | string version of Subnet-EVM template to use | -| `--warp` | generate a vm with warp support (needed for teleporter) (default true) | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--custom use a custom VM template +--custom-vm-branch string custom vm branch or commit +--custom-vm-build-script string custom vm build-script +--custom-vm-path string file path of custom vm to use +--custom-vm-repo-url string custom vm repository url +--debug enable blockchain debugging (default true) +--evm use the Subnet-EVM as the base template +--evm-chain-id uint chain ID to use with Subnet-EVM +--evm-defaults deprecation notice: use '--production-defaults' +--evm-token string token symbol to use with Subnet-EVM +--external-gas-token use a gas token from another blockchain +-f, --force overwrite the existing configuration if one exists +--from-github-repo generate custom VM binary from github repository +--genesis string file path of genesis to use +-h, --help help for create +--icm-registry-at-genesis setup ICM registry smart contract on genesis [experimental] +--latest use latest Subnet-EVM released version, takes precedence over --vm-version +--pre-release use latest Subnet-EVM pre-released version, takes precedence over --vm-version +--production-defaults use default production settings for your blockchain +--proof-of-authority use proof of authority(PoA) for validator management +--proof-of-stake use proof of stake(PoS) for validator management +--proxy-contract-owner string EVM address that controls ProxyAdmin for TransparentProxy of ValidatorManager contract +--reward-basis-points uint (PoS only) reward basis points for PoS Reward Calculator (default 100) +--sovereign set to false if creating non-sovereign blockchain (default true) +--teleporter interoperate with other blockchains using teleporter +--test-defaults use default test settings for your blockchain +--validator-manager-owner string EVM address that controls Validator Manager Owner +--vm string file path of custom vm to use. alias to custom-vm-path +--vm-version string version of Subnet-EVM template to use +--warp generate a vm with warp support (needed for teleporter) (default true) +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### delete @@ -3182,12 +3186,12 @@ avalanche subnet delete [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for delete | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for delete +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### deploy @@ -3209,63 +3213,63 @@ avalanche subnet deploy [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--aggregator-extra-endpoints` | strings endpoints for extra nodes that are needed in signature aggregation | -| `--aggregator-log-level` | string log level to use with signature aggregator (default "Off") | -| `--avalanchego-path` | string use this avalanchego binary path | -| `--avalanchego-version` | string use this version of avalanchego (ex: v1.17.12) (default "latest") | -| `--blockchain-genesis-key` | use genesis allocated key to fund validator manager initialization | -| `--blockchain-key` | string CLI stored key to use to fund validator manager initialization | -| `--blockchain-private-key` | string private key to use to fund validator manager initialization | -| `--bootstrap-endpoints` | strings take validator node info from the given endpoints | -| `--bootstrap-filepath` | string JSON file path that provides details about bootstrap validators, leave Node-ID and BLS values empty if using --generate-node-id=true | -| `--change-owner-address` | string address that will receive change if node is no longer L1 validator | -| `--cluster` | string operate on the given cluster | -| `--control-keys` | strings addresses that may make subnet changes | -| `--convert-only` | avoid node track, restart and poa manager setup | -| `--devnet` | operate on a devnet network | -| `--endpoint` | string use the given endpoint for network operations | -| `--etna-devnet` | operate on an etna devnet network | -| `-e, --ewoq` | use ewoq key [fuji/devnet deploy only] | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `--generate-node-id` | whether to create new node id for bootstrap validators (Node-ID and BLS values in bootstrap JSON file will be overridden if --bootstrap-filepath flag is used) | -| `-h, --help` | help for deploy | -| `-k, --key` | string select the key to use [fuji/devnet deploy only] | -| `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) | -| `--ledger-addrs` | strings use the given ledger addresses | -| `-l, --local` | operate on a local network | -| `-m, --mainnet` | operate on mainnet | -| `--mainnet-chain-id` | uint32 use different ChainID for mainnet deployment | -| `--num-bootstrap-validators` | int (only if --generate-node-id is true) number of bootstrap validators to set up in sovereign L1 validator) | -| `--num-local-nodes` | int number of nodes to be created on local machine (default 5) | -| `--output-tx-path` | string file path of the blockchain creation tx | -| `--partial-sync` | set primary network partial sync for new validators (default true) | -| `--pos-maximum-stake-amount` | uint maximum stake amount (default 1000) | -| `--pos-maximum-stake-multiplier` | uint8 maximum stake multiplier (default 1) | -| `--pos-minimum-delegation-fee` | uint16 minimum delegation fee (default 1) | -| `--pos-minimum-stake-amount` | uint minimum stake amount (default 1) | -| `--pos-minimum-stake-duration` | uint minimum stake duration (default 100) | -| `--pos-weight-to-value-factor` | uint weight to value factor (default 1) | -| `--relayer-version` | string relayer version to deploy (default "latest") | -| `-s, --same-control-key` | use the fee-paying key as control key | -| `--skip-local-teleporter` | skip automatic teleporter deploy on local networks [to be deprecated] | -| `--skip-relayer` | skip relayer deploy | -| `--skip-teleporter-deploy` | skip automatic teleporter deploy | -| `--subnet-auth-keys` | strings control keys that will be used to authenticate chain creation | -| `-u, --subnet-id` | string do not create a subnet, deploy the blockchain into the given subnet id | -| `--subnet-only` | only create a subnet | -| `--teleporter-messenger-contract-address-path` | string path to an interchain messenger contract address file | -| `--teleporter-messenger-deployer-address-path` | string path to an interchain messenger deployer address file | -| `--teleporter-messenger-deployer-tx-path` | string path to an interchain messenger deployer tx file | -| `--teleporter-registry-bytecode-path` | string path to an interchain messenger registry bytecode file | -| `--teleporter-version` | string teleporter version to deploy (default "latest") | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--threshold` | uint32 required number of control key signatures to make subnet changes | -| `--use-local-machine` | use local machine as a blockchain validator | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--aggregator-extra-endpoints strings endpoints for extra nodes that are needed in signature aggregation +--aggregator-log-level string log level to use with signature aggregator (default "Off") +--avalanchego-path string use this avalanchego binary path +--avalanchego-version string use this version of avalanchego (ex: v1.17.12) (default "latest") +--blockchain-genesis-key use genesis allocated key to fund validator manager initialization +--blockchain-key string CLI stored key to use to fund validator manager initialization +--blockchain-private-key string private key to use to fund validator manager initialization +--bootstrap-endpoints strings take validator node info from the given endpoints +--bootstrap-filepath string JSON file path that provides details about bootstrap validators, leave Node-ID and BLS values empty if using --generate-node-id=true +--change-owner-address string address that will receive change if node is no longer L1 validator +--cluster string operate on the given cluster +--control-keys strings addresses that may make subnet changes +--convert-only avoid node track, restart and poa manager setup +--devnet operate on a devnet network +--endpoint string use the given endpoint for network operations +--etna-devnet operate on an etna devnet network +-e, --ewoq use ewoq key [fuji/devnet deploy only] +-f, --fuji testnet operate on fuji (alias to testnet +--generate-node-id whether to create new node id for bootstrap validators (Node-ID and BLS values in bootstrap JSON file will be overridden if --bootstrap-filepath flag is used) +-h, --help help for deploy +-k, --key string select the key to use [fuji/devnet deploy only] +-g, --ledger use ledger instead of key (always true on mainnet, defaults to false on fuji/devnet) +--ledger-addrs strings use the given ledger addresses +-l, --local operate on a local network +-m, --mainnet operate on mainnet +--mainnet-chain-id uint32 use different ChainID for mainnet deployment +--num-bootstrap-validators int (only if --generate-node-id is true) number of bootstrap validators to set up in sovereign L1 validator) +--num-local-nodes int number of nodes to be created on local machine (default 5) +--output-tx-path string file path of the blockchain creation tx +--partial-sync set primary network partial sync for new validators (default true) +--pos-maximum-stake-amount uint maximum stake amount (default 1000) +--pos-maximum-stake-multiplier uint8 maximum stake multiplier (default 1) +--pos-minimum-delegation-fee uint16 minimum delegation fee (default 1) +--pos-minimum-stake-amount uint minimum stake amount (default 1) +--pos-minimum-stake-duration uint minimum stake duration (default 100) +--pos-weight-to-value-factor uint weight to value factor (default 1) +--relayer-version string relayer version to deploy (default "latest") +-s, --same-control-key use the fee-paying key as control key +--skip-local-teleporter skip automatic teleporter deploy on local networks [to be deprecated] +--skip-relayer skip relayer deploy +--skip-teleporter-deploy skip automatic teleporter deploy +--subnet-auth-keys strings control keys that will be used to authenticate chain creation +-u, --subnet-id string do not create a subnet, deploy the blockchain into the given subnet id +--subnet-only only create a subnet +--teleporter-messenger-contract-address-path string path to an interchain messenger contract address file +--teleporter-messenger-deployer-address-path string path to an interchain messenger deployer address file +--teleporter-messenger-deployer-tx-path string path to an interchain messenger deployer tx file +--teleporter-registry-bytecode-path string path to an interchain messenger registry bytecode file +--teleporter-version string teleporter version to deploy (default "latest") +-t, --testnet fuji operate on testnet (alias to fuji) +--threshold uint32 required number of control key signatures to make subnet changes +--use-local-machine use local machine as a blockchain validator +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### describe @@ -3280,13 +3284,13 @@ avalanche subnet describe [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-g, --genesis` | Print the genesis to the console directly instead of the summary | -| `-h, --help` | help for describe | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-g, --genesis Print the genesis to the console directly instead of the summary +-h, --help help for describe +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### export @@ -3302,16 +3306,16 @@ avalanche subnet export [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--custom-vm-branch` | string custom vm branch | -| `--custom-vm-build-script` | string custom vm build-script | -| `--custom-vm-repo-url` | string custom vm repository url | -| `-h, --help` | help for export | -| `-o, --output` | string write the export data to the provided file path | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--custom-vm-branch string custom vm branch +--custom-vm-build-script string custom vm build-script +--custom-vm-repo-url string custom vm repository url +-h, --help help for export +-o, --output string write the export data to the provided file path +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### import @@ -3328,12 +3332,12 @@ avalanche subnet import [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for import | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for import +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` **Subcommands:** @@ -3367,16 +3371,16 @@ avalanche subnet import file [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--branch` | string the repo branch to use if downloading a new repo | -| `-f, --force` | overwrite the existing configuration if one exists | -| `-h, --help` | help for file | -| `--repo` | string the repo to import (ex: ava-labs/avalanche-plugins-core) or url to download the repo from | -| `--subnet` | string the subnet configuration to import from the provided repo | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--branch string the repo branch to use if downloading a new repo +-f, --force overwrite the existing configuration if one exists +-h, --help help for file +--repo string the repo to import (ex: ava-labs/avalanche-plugins-core) or url to download the repo from +--subnet string the subnet configuration to import from the provided repo +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` #### import public @@ -3393,24 +3397,24 @@ avalanche subnet import public [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--blockchain-id` | string the blockchain ID | -| `--cluster` | string operate on the given cluster | -| `--custom` | use a custom VM template | -| `--devnet` | operate on a devnet network | -| `--endpoint` | string use the given endpoint for network operations | -| `--evm` | import a subnet-evm | -| `--force` | overwrite the existing configuration if one exists | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `-h, --help` | help for public | -| `-l, --local` | operate on a local network | -| `-m, --mainnet` | operate on mainnet | -| `--node-url` | string [optional] URL of an already running subnet validator | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--blockchain-id string the blockchain ID +--cluster string operate on the given cluster +--custom use a custom VM template +--devnet operate on a devnet network +--endpoint string use the given endpoint for network operations +--evm import a subnet-evm +--force overwrite the existing configuration if one exists +-f, --fuji testnet operate on fuji (alias to testnet +-h, --help help for public +-l, --local operate on a local network +-m, --mainnet operate on mainnet +--node-url string [optional] URL of an already running subnet validator +-t, --testnet fuji operate on testnet (alias to fuji) +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### join @@ -3436,31 +3440,31 @@ avalanche subnet join [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--avalanchego-config` | string file path of the avalanchego config file | -| `--cluster` | string operate on the given cluster | -| `--data-dir` | string path of avalanchego's data dir directory | -| `--devnet` | operate on a devnet network | -| `--endpoint` | string use the given endpoint for network operations | -| `--force-write` | if true, skip to prompt to overwrite the config file | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `-h, --help` | help for join | -| `-k, --key` | string select the key to use [fuji only] | -| `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji) | -| `--ledger-addrs` | strings use the given ledger addresses | -| `-l, --local` | operate on a local network | -| `-m, --mainnet` | operate on mainnet | -| `--node-id` | string set the NodeID of the validator to check | -| `--plugin-dir` | string file path of avalanchego's plugin directory | -| `--print` | if true, print the manual config without prompting | -| `--stake-amount` | uint amount of tokens to stake on validator | -| `--staking-period` | duration how long validator validates for after start time | -| `--start-time` | string start time that validator starts validating | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--avalanchego-config string file path of the avalanchego config file +--cluster string operate on the given cluster +--data-dir string path of avalanchego's data dir directory +--devnet operate on a devnet network +--endpoint string use the given endpoint for network operations +--force-write if true, skip to prompt to overwrite the config file +-f, --fuji testnet operate on fuji (alias to testnet +-h, --help help for join +-k, --key string select the key to use [fuji only] +-g, --ledger use ledger instead of key (always true on mainnet, defaults to false on fuji) +--ledger-addrs strings use the given ledger addresses +-l, --local operate on a local network +-m, --mainnet operate on mainnet +--node-id string set the NodeID of the validator to check +--plugin-dir string file path of avalanchego's plugin directory +--print if true, print the manual config without prompting +--stake-amount uint amount of tokens to stake on validator +--staking-period duration how long validator validates for after start time +--start-time string start time that validator starts validating +-t, --testnet fuji operate on testnet (alias to fuji) +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### list @@ -3475,13 +3479,13 @@ avalanche subnet list [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--deployed` | show additional deploy information | -| `-h, --help` | help for list | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--deployed show additional deploy information +-h, --help help for list +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### publish @@ -3494,18 +3498,18 @@ avalanche subnet publish [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--alias` | string We publish to a remote repo, but identify the repo locally under a user-provided alias (e.g. myrepo). | -| `--force` | If true, ignores if the subnet has been published in the past, and attempts a forced publish. | -| `-h, --help` | help for publish | -| `--no-repo-path` | string Do not let the tool manage file publishing, but have it only generate the files and put them in the location given by this flag. | -| `--repo-url` | string The URL of the repo where we are publishing | -| `--subnet-file-path` | string Path to the Subnet description file. If not given, a prompting sequence will be initiated. | -| `--vm-file-path` | string Path to the VM description file. If not given, a prompting sequence will be initiated. | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--alias string We publish to a remote repo, but identify the repo locally under a user-provided alias (e.g. myrepo). +--force If true, ignores if the subnet has been published in the past, and attempts a forced publish. +-h, --help help for publish +--no-repo-path string Do not let the tool manage file publishing, but have it only generate the files and put them in the location given by this flag. +--repo-url string The URL of the repo where we are publishing +--subnet-file-path string Path to the Subnet description file. If not given, a prompting sequence will be initiated. +--vm-file-path string Path to the VM description file. If not given, a prompting sequence will be initiated. +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### removeValidator @@ -3522,32 +3526,32 @@ avalanche subnet removeValidator [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--aggregator-extra-endpoints` | strings endpoints for extra nodes that are needed in signature aggregation | -| `--aggregator-log-level` | string log level to use with signature aggregator (default "Off") | -| `--blockchain-genesis-key` | use genesis allocated key to pay fees for completing the validator's removal (blockchain gas token) | -| `--blockchain-key` | string CLI stored key to use to pay fees for completing the validator's removal (blockchain gas token) | -| `--blockchain-private-key` | string private key to use to pay fees for completing the validator's removal (blockchain gas token) | -| `--cluster` | string operate on the given cluster | -| `--devnet` | operate on a devnet network | -| `--endpoint` | string use the given endpoint for network operations | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `-h, --help` | help for removeValidator | -| `-k, --key` | string select the key to use [fuji deploy only] | -| `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji) | -| `--ledger-addrs` | strings use the given ledger addresses | -| `-l, --local` | operate on a local network | -| `-m, --mainnet` | operate on mainnet | -| `--node-endpoint` | string remove validator that responds to the given endpoint | -| `--node-id` | string node-id of the validator | -| `--output-tx-path` | string (for non-SOV blockchain only) file path of the removeValidator tx | -| `--rpc` | string connect to validator manager at the given rpc endpoint | -| `--subnet-auth-keys` | strings (for non-SOV blockchain only) control keys that will be used to authenticate the removeValidator tx | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--aggregator-extra-endpoints strings endpoints for extra nodes that are needed in signature aggregation +--aggregator-log-level string log level to use with signature aggregator (default "Off") +--blockchain-genesis-key use genesis allocated key to pay fees for completing the validator's removal (blockchain gas token) +--blockchain-key string CLI stored key to use to pay fees for completing the validator's removal (blockchain gas token) +--blockchain-private-key string private key to use to pay fees for completing the validator's removal (blockchain gas token) +--cluster string operate on the given cluster +--devnet operate on a devnet network +--endpoint string use the given endpoint for network operations +-f, --fuji testnet operate on fuji (alias to testnet +-h, --help help for removeValidator +-k, --key string select the key to use [fuji deploy only] +-g, --ledger use ledger instead of key (always true on mainnet, defaults to false on fuji) +--ledger-addrs strings use the given ledger addresses +-l, --local operate on a local network +-m, --mainnet operate on mainnet +--node-endpoint string remove validator that responds to the given endpoint +--node-id string node-id of the validator +--output-tx-path string (for non-SOV blockchain only) file path of the removeValidator tx +--rpc string connect to validator manager at the given rpc endpoint +--subnet-auth-keys strings (for non-SOV blockchain only) control keys that will be used to authenticate the removeValidator tx +-t, --testnet fuji operate on testnet (alias to fuji) +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### stats @@ -3560,19 +3564,19 @@ avalanche subnet stats [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--cluster` | string operate on the given cluster | -| `--devnet` | operate on a devnet network | -| `--endpoint` | string use the given endpoint for network operations | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `-h, --help` | help for stats | -| `-l, --local` | operate on a local network | -| `-m, --mainnet` | operate on mainnet | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--cluster string operate on the given cluster +--devnet operate on a devnet network +--endpoint string use the given endpoint for network operations +-f, --fuji testnet operate on fuji (alias to testnet +-h, --help help for stats +-l, --local operate on a local network +-m, --mainnet operate on mainnet +-t, --testnet fuji operate on testnet (alias to fuji) +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### upgrade @@ -3586,12 +3590,12 @@ avalanche subnet upgrade [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for upgrade | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for upgrade +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` **Subcommands:** @@ -3638,19 +3642,19 @@ avalanche subnet upgrade apply [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--avalanchego-chain-config-dir` | string avalanchego's chain config file directory (default "/Users/owen.wahlgren/.avalanchego/chains") | -| `--config` | create upgrade config for future subnet deployments (same as generate) | -| `--force` | If true, don't prompt for confirmation of timestamps in the past | -| `--fuji` | fuji apply upgrade existing fuji deployment (alias for `testnet`) | -| `-h, --help` | help for apply | -| `--local` | local apply upgrade existing local deployment | -| `--mainnet` | mainnet apply upgrade existing mainnet deployment | -| `--print` | if true, print the manual config without prompting (for public networks only) | -| `--testnet` | testnet apply upgrade existing testnet deployment (alias for `fuji`) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--avalanchego-chain-config-dir string avalanchego's chain config file directory (default "/Users/owen.wahlgren/.avalanchego/chains") +--config create upgrade config for future subnet deployments (same as generate) +--force If true, don't prompt for confirmation of timestamps in the past +--fuji fuji apply upgrade existing fuji deployment (alias for `testnet`) +-h, --help help for apply +--local local apply upgrade existing local deployment +--mainnet mainnet apply upgrade existing mainnet deployment +--print if true, print the manual config without prompting (for public networks only) +--testnet testnet apply upgrade existing testnet deployment (alias for `fuji`) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` #### upgrade export @@ -3663,14 +3667,14 @@ avalanche subnet upgrade export [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--force` | If true, overwrite a possibly existing file without prompting | -| `-h, --help` | help for export | -| `--upgrade-filepath` | string Export upgrade bytes file to location of choice on disk | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--force If true, overwrite a possibly existing file without prompting +-h, --help help for export +--upgrade-filepath string Export upgrade bytes file to location of choice on disk +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` #### upgrade generate @@ -3684,12 +3688,12 @@ avalanche subnet upgrade generate [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for generate | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for generate +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` #### upgrade import @@ -3702,13 +3706,13 @@ avalanche subnet upgrade import [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for import | -| `--upgrade-filepath` | string Import upgrade bytes file into local environment | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for import +--upgrade-filepath string Import upgrade bytes file into local environment +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` #### upgrade print @@ -3721,12 +3725,12 @@ avalanche subnet upgrade print [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for print | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for print +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` #### upgrade vm @@ -3743,21 +3747,21 @@ avalanche subnet upgrade vm [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--binary` | string Upgrade to custom binary | -| `--config` | upgrade config for future subnet deployments | -| `--fuji` | fuji upgrade existing fuji deployment (alias for `testnet`) | -| `-h, --help` | help for vm | -| `--latest` | upgrade to latest version | -| `--local` | local upgrade existing local deployment | -| `--mainnet` | mainnet upgrade existing mainnet deployment | -| `--plugin-dir` | string plugin directory to automatically upgrade VM | -| `--print` | print instructions for upgrading | -| `--testnet` | testnet upgrade existing testnet deployment (alias for `fuji`) | -| `--version` | string Upgrade to custom version | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--binary string Upgrade to custom binary +--config upgrade config for future subnet deployments +--fuji fuji upgrade existing fuji deployment (alias for `testnet`) +-h, --help help for vm +--latest upgrade to latest version +--local local upgrade existing local deployment +--mainnet mainnet upgrade existing mainnet deployment +--plugin-dir string plugin directory to automatically upgrade VM +--print print instructions for upgrading +--testnet testnet upgrade existing testnet deployment (alias for `fuji`) +--version string Upgrade to custom version +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### validators @@ -3771,19 +3775,19 @@ avalanche subnet validators [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--cluster` | string operate on the given cluster | -| `--devnet` | operate on a devnet network | -| `--endpoint` | string use the given endpoint for network operations | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `-h, --help` | help for validators | -| `-l, --local` | operate on a local network | -| `-m, --mainnet` | operate on mainnet | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--cluster string operate on the given cluster +--devnet operate on a devnet network +--endpoint string use the given endpoint for network operations +-f, --fuji testnet operate on fuji (alias to testnet +-h, --help help for validators +-l, --local operate on a local network +-m, --mainnet operate on mainnet +-t, --testnet fuji operate on testnet (alias to fuji) +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### vmid @@ -3796,12 +3800,12 @@ avalanche subnet vmid [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for vmid | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for vmid +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ## avalanche teleporter @@ -3815,12 +3819,12 @@ avalanche teleporter [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for teleporter | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for teleporter +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` **Subcommands:** @@ -3845,12 +3849,12 @@ avalanche teleporter bridge [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for bridge | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for bridge +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` **Subcommands:** @@ -3871,37 +3875,37 @@ avalanche teleporter bridge deploy [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--c-chain-home` | set the Transferrer's Home Chain into C-Chain | -| `--c-chain-remote` | set the Transferrer's Remote Chain into C-Chain | -| `--cluster` | string operate on the given cluster | -| `--deploy-erc20-home` | string deploy a Transferrer Home for the given Chain's ERC20 Token | -| `--deploy-native-home` | deploy a Transferrer Home for the Chain's Native Token | -| `--deploy-native-remote` | deploy a Transferrer Remote for the Chain's Native Token | -| `--devnet` | operate on a devnet network | -| `--endpoint` | string use the given endpoint for network operations | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `-h, --help` | help for deploy | -| `--home-blockchain` | string set the Transferrer's Home Chain into the given CLI blockchain | -| `--home-genesis-key` | use genesis allocated key to deploy Transferrer Home | -| `--home-key` | string CLI stored key to use to deploy Transferrer Home | -| `--home-private-key` | string private key to use to deploy Transferrer Home | -| `--home-rpc` | string use the given RPC URL to connect to the home blockchain | -| `-l, --local` | operate on a local network | -| `--remote-blockchain` | string set the Transferrer's Remote Chain into the given CLI blockchain | -| `--remote-genesis-key` | use genesis allocated key to deploy Transferrer Remote | -| `--remote-key` | string CLI stored key to use to deploy Transferrer Remote | -| `--remote-private-key` | string private key to use to deploy Transferrer Remote | -| `--remote-rpc` | string use the given RPC URL to connect to the remote blockchain | -| `--remote-token-decimals` | uint8 use the given number of token decimals for the Transferrer Remote [defaults to token home's decimals (18 for a new wrapped native home token)] | -| `--remove-minter-admin` | remove the native minter precompile admin found on remote blockchain genesis | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--use-home` | string use the given Transferrer's Home Address | -| `--version` | string tag/branch/commit of Avalanche Interchain Token Transfer (ICTT) to be used (defaults to main branch) | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--c-chain-home set the Transferrer's Home Chain into C-Chain +--c-chain-remote set the Transferrer's Remote Chain into C-Chain +--cluster string operate on the given cluster +--deploy-erc20-home string deploy a Transferrer Home for the given Chain's ERC20 Token +--deploy-native-home deploy a Transferrer Home for the Chain's Native Token +--deploy-native-remote deploy a Transferrer Remote for the Chain's Native Token +--devnet operate on a devnet network +--endpoint string use the given endpoint for network operations +-f, --fuji testnet operate on fuji (alias to testnet +-h, --help help for deploy +--home-blockchain string set the Transferrer's Home Chain into the given CLI blockchain +--home-genesis-key use genesis allocated key to deploy Transferrer Home +--home-key string CLI stored key to use to deploy Transferrer Home +--home-private-key string private key to use to deploy Transferrer Home +--home-rpc string use the given RPC URL to connect to the home blockchain +-l, --local operate on a local network +--remote-blockchain string set the Transferrer's Remote Chain into the given CLI blockchain +--remote-genesis-key use genesis allocated key to deploy Transferrer Remote +--remote-key string CLI stored key to use to deploy Transferrer Remote +--remote-private-key string private key to use to deploy Transferrer Remote +--remote-rpc string use the given RPC URL to connect to the remote blockchain +--remote-token-decimals uint8 use the given number of token decimals for the Transferrer Remote [defaults to token home's decimals (18 for a new wrapped native home token)] +--remove-minter-admin remove the native minter precompile admin found on remote blockchain genesis +-t, --testnet fuji operate on testnet (alias to fuji) +--use-home string use the given Transferrer's Home Address +--version string tag/branch/commit of Avalanche Interchain Token Transfer (ICTT) to be used (defaults to main branch) +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### deploy @@ -3914,33 +3918,33 @@ avalanche teleporter deploy [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--blockchain` | string deploy ICM into the given CLI blockchain | -| `--blockchain-id` | string deploy ICM into the given blockchain ID/Alias | -| `--c-chain` | deploy ICM into C-Chain | -| `--cluster` | string operate on the given cluster | -| `--deploy-messenger` | deploy Teleporter Messenger (default true) | -| `--deploy-registry` | deploy Teleporter Registry (default true) | -| `--devnet` | operate on a devnet network | -| `--endpoint` | string use the given endpoint for network operations | -| `--force-registry-deploy` | deploy Teleporter Registry even if Messenger has already been deployed | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `--genesis-key` | use genesis allocated key to fund ICM deploy | -| `-h, --help` | help for deploy | -| `--key` | string CLI stored key to use to fund ICM deploy | -| `-l, --local` | operate on a local network | -| `--messenger-contract-address-path` | string path to a messenger contract address file | -| `--messenger-deployer-address-path` | string path to a messenger deployer address file | -| `--messenger-deployer-tx-path` | string path to a messenger deployer tx file | -| `--private-key` | string private key to use to fund ICM deploy | -| `--registry-bytecode-path` | string path to a registry bytecode file | -| `--rpc-url` | string use the given RPC URL to connect to the subnet | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--version` | string version to deploy (default "latest") | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--blockchain string deploy ICM into the given CLI blockchain +--blockchain-id string deploy ICM into the given blockchain ID/Alias +--c-chain deploy ICM into C-Chain +--cluster string operate on the given cluster +--deploy-messenger deploy Teleporter Messenger (default true) +--deploy-registry deploy Teleporter Registry (default true) +--devnet operate on a devnet network +--endpoint string use the given endpoint for network operations +--force-registry-deploy deploy Teleporter Registry even if Messenger has already been deployed +-f, --fuji testnet operate on fuji (alias to testnet +--genesis-key use genesis allocated key to fund ICM deploy +-h, --help help for deploy +--key string CLI stored key to use to fund ICM deploy +-l, --local operate on a local network +--messenger-contract-address-path string path to a messenger contract address file +--messenger-deployer-address-path string path to a messenger deployer address file +--messenger-deployer-tx-path string path to a messenger deployer tx file +--private-key string private key to use to fund ICM deploy +--registry-bytecode-path string path to a registry bytecode file +--rpc-url string use the given RPC URL to connect to the subnet +-t, --testnet fuji operate on testnet (alias to fuji) +--version string version to deploy (default "latest") +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### msg @@ -3953,25 +3957,25 @@ avalanche teleporter msg [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--cluster` | string operate on the given cluster | -| `--dest-rpc` | string use the given destination blockchain rpc endpoint | -| `--destination-address` | string deliver the message to the given contract destination address | -| `--devnet` | operate on a devnet network | -| `--endpoint` | string use the given endpoint for network operations | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `--genesis-key` | use genesis allocated key as message originator and to pay source blockchain fees | -| `-h, --help` | help for msg | -| `--hex-encoded` | given message is hex encoded | -| `--key` | string CLI stored key to use as message originator and to pay source blockchain fees | -| `-l, --local` | operate on a local network | -| `--private-key` | string private key to use as message originator and to pay source blockchain fees | -| `--source-rpc` | string use the given source blockchain rpc endpoint | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--cluster string operate on the given cluster +--dest-rpc string use the given destination blockchain rpc endpoint +--destination-address string deliver the message to the given contract destination address +--devnet operate on a devnet network +--endpoint string use the given endpoint for network operations +-f, --fuji testnet operate on fuji (alias to testnet +--genesis-key use genesis allocated key as message originator and to pay source blockchain fees +-h, --help help for msg +--hex-encoded given message is hex encoded +--key string CLI stored key to use as message originator and to pay source blockchain fees +-l, --local operate on a local network +--private-key string private key to use as message originator and to pay source blockchain fees +--source-rpc string use the given source blockchain rpc endpoint +-t, --testnet fuji operate on testnet (alias to fuji) +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### relayer @@ -3985,12 +3989,12 @@ avalanche teleporter relayer [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for relayer | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for relayer +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` **Subcommands:** @@ -4010,19 +4014,19 @@ avalanche teleporter relayer deploy [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--cluster` | string operate on the given cluster | -| `--devnet` | operate on a devnet network | -| `--endpoint` | string use the given endpoint for network operations | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `-h, --help` | help for deploy | -| `-l, --local` | operate on a local network | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--version` | string version to deploy (default "latest") | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--cluster string operate on the given cluster +--devnet operate on a devnet network +--endpoint string use the given endpoint for network operations +-f, --fuji testnet operate on fuji (alias to testnet +-h, --help help for deploy +-l, --local operate on a local network +-t, --testnet fuji operate on testnet (alias to fuji) +--version string version to deploy (default "latest") +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` #### relayer logs @@ -4035,19 +4039,19 @@ avalanche teleporter relayer logs [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--endpoint` | string use the given endpoint for network operations | -| `--first` | uint output first N log lines | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `-h, --help` | help for logs | -| `--last` | uint output last N log lines | -| `-l, --local` | operate on a local network | -| `--raw` | raw logs output | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--endpoint string use the given endpoint for network operations +--first uint output first N log lines +-f, --fuji testnet operate on fuji (alias to testnet +-h, --help help for logs +--last uint output last N log lines +-l, --local operate on a local network +--raw raw logs output +-t, --testnet fuji operate on testnet (alias to fuji) +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` #### relayer start @@ -4060,17 +4064,17 @@ avalanche teleporter relayer start [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--cluster` | string operate on the given cluster | -| `--endpoint` | string use the given endpoint for network operations | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `-h, --help` | help for start | -| `-l, --local` | operate on a local network | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--cluster string operate on the given cluster +--endpoint string use the given endpoint for network operations +-f, --fuji testnet operate on fuji (alias to testnet +-h, --help help for start +-l, --local operate on a local network +-t, --testnet fuji operate on testnet (alias to fuji) +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` #### relayer stop @@ -4083,17 +4087,17 @@ avalanche teleporter relayer stop [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `--cluster` | string operate on the given cluster | -| `--endpoint` | string use the given endpoint for network operations | -| `-f, --fuji` | testnet operate on fuji (alias to testnet | -| `-h, --help` | help for stop | -| `-l, --local` | operate on a local network | -| `-t, --testnet` | fuji operate on testnet (alias to fuji) | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +--cluster string operate on the given cluster +--endpoint string use the given endpoint for network operations +-f, --fuji testnet operate on fuji (alias to testnet +-h, --help help for stop +-l, --local operate on a local network +-t, --testnet fuji operate on testnet (alias to fuji) +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ## avalanche transaction @@ -4106,12 +4110,12 @@ avalanche transaction [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for transaction | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for transaction +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` **Subcommands:** @@ -4129,13 +4133,13 @@ avalanche transaction commit [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for commit | -| `--input-tx-filepath` | string Path to the transaction signed by all signatories | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for commit +--input-tx-filepath string Path to the transaction signed by all signatories +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ### sign @@ -4148,16 +4152,16 @@ avalanche transaction sign [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-h, --help` | help for sign | -| `--input-tx-filepath` | string Path to the transaction file for signing | -| `-k, --key` | string select the key to use [fuji only] | -| `-g, --ledger` | use ledger instead of key (always true on mainnet, defaults to false on fuji) | -| `--ledger-addrs` | strings use the given ledger addresses | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-h, --help help for sign +--input-tx-filepath string Path to the transaction file for signing +-k, --key string select the key to use [fuji only] +-g, --ledger use ledger instead of key (always true on mainnet, defaults to false on fuji) +--ledger-addrs strings use the given ledger addresses +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` ## avalanche update @@ -4170,12 +4174,12 @@ avalanche update [subcommand] [flags] **Flags:** -| Flag | Description | -| ---- | ----------- | -| `-c, --confirm` | Assume yes for installation | -| `-h, --help` | help for update | -| `-v, --version` | version for update | -| `--config` | string config file (default is $HOME/.avalanche-cli/config.json) | -| `--log-level` | string log level for the application (default "ERROR") | -| `--skip-update-check` | skip check for new versions | +```bash +-c, --confirm Assume yes for installation +-h, --help help for update +-v, --version version for update +--config string config file (default is $HOME/.avalanche-cli/config.json) +--log-level string log level for the application (default "ERROR") +--skip-update-check skip check for new versions +``` From 8566ea6e684ba614443de3c22f9c9af08f4c1e17 Mon Sep 17 00:00:00 2001 From: owenwahlgren Date: Thu, 21 Nov 2024 15:19:42 -0500 Subject: [PATCH 13/13] heading fix --- content/docs/tooling/avalanche-cli.mdx | 126 ++++++++++++------------- 1 file changed, 63 insertions(+), 63 deletions(-) diff --git a/content/docs/tooling/avalanche-cli.mdx b/content/docs/tooling/avalanche-cli.mdx index 22b06317e9d..b629f165a54 100644 --- a/content/docs/tooling/avalanche-cli.mdx +++ b/content/docs/tooling/avalanche-cli.mdx @@ -979,11 +979,11 @@ avalanche config [subcommand] [flags] **Subcommands:** -- [`authorize-cloud-access`](#config-authorize-cloud-access): set preferences to authorize access to cloud resources -- [`metrics`](#config-metrics): set user metrics collection preferences -- [`migrate`](#config-migrate): migrate command migrates old ~/.avalanche-cli.json and ~/.avalanche-cli/config to /.avalanche-cli/config.json.. -- [`singleNode`](#config-singlenode): set user preference between single node and five nodes local network -- [`snapshotsAutoSave`](#config-snapshotsautosave): set user preference between auto saving local network snapshots or not +- [`authorize-cloud-access`](#authorize-cloud-access): set preferences to authorize access to cloud resources +- [`metrics`](#metrics): set user metrics collection preferences +- [`migrate`](#migrate): migrate command migrates old ~/.avalanche-cli.json and ~/.avalanche-cli/config to /.avalanche-cli/config.json.. +- [`singleNode`](#singlenode): set user preference between single node and five nodes local network +- [`snapshotsAutoSave`](#snapshotsautosave): set user preference between auto saving local network snapshots or not ### authorize-cloud-access @@ -1096,9 +1096,9 @@ avalanche contract [subcommand] [flags] **Subcommands:** -- [`deploy`](#contract-deploy): The contract command suite provides a collection of tools for deploying +- [`deploy`](#deploy): The contract command suite provides a collection of tools for deploying smart contracts. -- [`initValidatorManager`](#contract-initvalidatormanager): Initializes Proof of Authority(PoA) or Proof of Stake(PoS)Validator Manager contract on a Blockchain and sets up initial validator set on the Blockchain. For more info on Validator Manager, please head to https://github.com/ava-labs/teleporter/tree/staking-contract/contracts/validator-manager +- [`initValidatorManager`](#initvalidatormanager): Initializes Proof of Authority(PoA) or Proof of Stake(PoS)Validator Manager contract on a Blockchain and sets up initial validator set on the Blockchain. For more info on Validator Manager, please head to https://github.com/ava-labs/teleporter/tree/staking-contract/contracts/validator-manager ### deploy @@ -1234,7 +1234,7 @@ avalanche ictt [subcommand] [flags] **Subcommands:** -- [`deploy`](#ictt-deploy): Deploys a Token Transferrer into a given Network and Subnets +- [`deploy`](#deploy): Deploys a Token Transferrer into a given Network and Subnets ### deploy @@ -1300,7 +1300,7 @@ avalanche interchain [subcommand] [flags] **Subcommands:** -- [`tokenTransferrer`](#interchain-tokentransferrer): The tokenTransfer command suite provides tools to deploy and manage Token Transferrers. +- [`tokenTransferrer`](#tokentransferrer): The tokenTransfer command suite provides tools to deploy and manage Token Transferrers. ### tokenTransferrer @@ -1392,7 +1392,7 @@ avalanche key [subcommand] [flags] **Subcommands:** -- [`create`](#key-create): The key create command generates a new private key to use for creating and controlling +- [`create`](#create): The key create command generates a new private key to use for creating and controlling test Subnets. Keys generated by this command are NOT cryptographically secure enough to use in production environments. DO NOT use these keys on Mainnet. @@ -1401,18 +1401,18 @@ can use this key in other commands by providing this keyName. If you'd like to import an existing key instead of generating one from scratch, provide the --file flag. -- [`delete`](#key-delete): The key delete command deletes an existing signing key. +- [`delete`](#delete): The key delete command deletes an existing signing key. To delete a key, provide the keyName. The command prompts for confirmation before deleting the key. To skip the confirmation, provide the --force flag. -- [`export`](#key-export): The key export command exports a created signing key. You can use an exported key in other +- [`export`](#export): The key export command exports a created signing key. You can use an exported key in other applications or import it into another instance of Avalanche-CLI. By default, the tool writes the hex encoded key to stdout. If you provide the --output flag, the command writes the key to a file of your choosing. -- [`list`](#key-list): The key list command prints information for all stored signing +- [`list`](#list): The key list command prints information for all stored signing keys or for the ledger addresses associated to certain indices. -- [`transfer`](#key-transfer): The key transfer command allows to transfer funds between stored keys or ledger addresses. +- [`transfer`](#transfer): The key transfer command allows to transfer funds between stored keys or ledger addresses. ### create @@ -1596,17 +1596,17 @@ avalanche network [subcommand] [flags] **Subcommands:** -- [`clean`](#network-clean): The network clean command shuts down your local, multi-node network. All deployed Subnets +- [`clean`](#clean): The network clean command shuts down your local, multi-node network. All deployed Subnets shutdown and delete their state. You can restart the network by deploying a new Subnet configuration. -- [`start`](#network-start): The network start command starts a local, multi-node Avalanche network on your machine. +- [`start`](#start): The network start command starts a local, multi-node Avalanche network on your machine. By default, the command loads the default snapshot. If you provide the --snapshot-name flag, the network loads that snapshot instead. The command fails if the local network is already running. -- [`status`](#network-status): The network status command prints whether or not a local Avalanche +- [`status`](#status): The network status command prints whether or not a local Avalanche network is running and some basic stats about the network. -- [`stop`](#network-stop): The network stop command shuts down your local, multi-node network. +- [`stop`](#stop): The network stop command shuts down your local, multi-node network. All deployed Subnets shutdown gracefully and save their state. If you provide the --snapshot-name flag, the network saves its state under this named snapshot. You can @@ -1730,11 +1730,11 @@ avalanche node [subcommand] [flags] **Subcommands:** -- [`addDashboard`](#node-adddashboard): (ALPHA Warning) This command is currently in experimental mode. +- [`addDashboard`](#adddashboard): (ALPHA Warning) This command is currently in experimental mode. The node addDashboard command adds custom dashboard to the Grafana monitoring dashboard for the cluster. -- [`create`](#node-create): (ALPHA Warning) This command is currently in experimental mode. +- [`create`](#create): (ALPHA Warning) This command is currently in experimental mode. The node create command sets up a validator on a cloud server of your choice. The validator will be validating the Avalanche Primary Network and Subnet @@ -1748,16 +1748,16 @@ status by running avalanche node status The created node will be part of group of validators called `clusterName` and users can call node commands with `clusterName` so that the command will apply to all nodes in the cluster -- [`destroy`](#node-destroy): (ALPHA Warning) This command is currently in experimental mode. +- [`destroy`](#destroy): (ALPHA Warning) This command is currently in experimental mode. The node destroy command terminates all running nodes in cloud server and deletes all storage disks. If there is a static IP address attached, it will be released. -- [`devnet`](#node-devnet): (ALPHA Warning) This command is currently in experimental mode. +- [`devnet`](#devnet): (ALPHA Warning) This command is currently in experimental mode. The node devnet command suite provides a collection of commands related to devnets. You can check the updated status by calling avalanche node status `clusterName` -- [`export`](#node-export): (ALPHA Warning) This command is currently in experimental mode. +- [`export`](#export): (ALPHA Warning) This command is currently in experimental mode. The node export command exports cluster configuration and its nodes config to a text file. @@ -1766,7 +1766,7 @@ If no file is specified, the configuration is printed to the stdout. Use --include-secrets to include keys in the export. In this case please keep the file secure as it contains sensitive information. Exported cluster configuration without secrets can be imported by another user using node import command. -- [`import`](#node-import): (ALPHA Warning) This command is currently in experimental mode. +- [`import`](#import): (ALPHA Warning) This command is currently in experimental mode. The node import command imports cluster configuration and its nodes configuration from a text file created from the node export command. @@ -1776,23 +1776,23 @@ the cluster owner. This will enable you to use avalanche-cli commands to manage Please note, that this imported cluster will be considered as EXTERNAL by avalanche-cli, so some commands affecting cloud nodes like node create or node destroy will be not applicable to it. -- [`list`](#node-list): (ALPHA Warning) This command is currently in experimental mode. +- [`list`](#list): (ALPHA Warning) This command is currently in experimental mode. The node list command lists all clusters together with their nodes. -- [`loadtest`](#node-loadtest): (ALPHA Warning) This command is currently in experimental mode. +- [`loadtest`](#loadtest): (ALPHA Warning) This command is currently in experimental mode. The node loadtest command suite starts and stops a load test for an existing devnet cluster. -- [`local`](#node-local): (ALPHA Warning) This command is currently in experimental mode. +- [`local`](#local): (ALPHA Warning) This command is currently in experimental mode. The node local command suite provides a collection of commands related to local nodes -- [`refresh-ips`](#node-refresh-ips): (ALPHA Warning) This command is currently in experimental mode. +- [`refresh-ips`](#refresh-ips): (ALPHA Warning) This command is currently in experimental mode. The node refresh-ips command obtains the current IP for all nodes with dynamic IPs in the cluster, and updates the local node information used by CLI commands. -- [`resize`](#node-resize): (ALPHA Warning) This command is currently in experimental mode. +- [`resize`](#resize): (ALPHA Warning) This command is currently in experimental mode. The node resize command can change the amount of CPU, memory and disk space available for the cluster nodes. -- [`scp`](#node-scp): (ALPHA Warning) This command is currently in experimental mode. +- [`scp`](#scp): (ALPHA Warning) This command is currently in experimental mode. The node scp command securely copies files to and from nodes. Remote source or destionation can be specified using the following format: [clusterName|nodeID|instanceID|IP]:/path/to/file. Regular expressions are supported for the source files like /tmp/*.txt. @@ -1802,41 +1802,41 @@ For example: $ avalanche node scp [cluster1|node1]:/tmp/file.txt /tmp/file.txt $ avalanche node scp /tmp/file.txt [cluster1|NodeID-XXXX]:/tmp/file.txt $ avalanche node scp node1:/tmp/file.txt NodeID-XXXX:/tmp/file.txt -- [`ssh`](#node-ssh): (ALPHA Warning) This command is currently in experimental mode. +- [`ssh`](#ssh): (ALPHA Warning) This command is currently in experimental mode. The node ssh command execute a given command [cmd] using ssh on all nodes in the cluster if ClusterName is given. If no command is given, just prints the ssh command to be used to connect to each node in the cluster. For provided NodeID or InstanceID or IP, the command [cmd] will be executed on that node. If no [cmd] is provided for the node, it will open ssh shell there. -- [`status`](#node-status): (ALPHA Warning) This command is currently in experimental mode. +- [`status`](#status): (ALPHA Warning) This command is currently in experimental mode. The node status command gets the bootstrap status of all nodes in a cluster with the Primary Network. If no cluster is given, defaults to node list behaviour. To get the bootstrap status of a node with a Blockchain, use --blockchain flag -- [`sync`](#node-sync): (ALPHA Warning) This command is currently in experimental mode. +- [`sync`](#sync): (ALPHA Warning) This command is currently in experimental mode. The node sync command enables all nodes in a cluster to be bootstrapped to a Blockchain. You can check the blockchain bootstrap status by calling avalanche node status `clusterName` --blockchain `blockchainName` -- [`update`](#node-update): (ALPHA Warning) This command is currently in experimental mode. +- [`update`](#update): (ALPHA Warning) This command is currently in experimental mode. The node update command suite provides a collection of commands for nodes to update their avalanchego or VM config. You can check the status after update by calling avalanche node status -- [`upgrade`](#node-upgrade): (ALPHA Warning) This command is currently in experimental mode. +- [`upgrade`](#upgrade): (ALPHA Warning) This command is currently in experimental mode. The node update command suite provides a collection of commands for nodes to update their avalanchego or VM version. You can check the status after upgrade by calling avalanche node status -- [`validate`](#node-validate): (ALPHA Warning) This command is currently in experimental mode. +- [`validate`](#validate): (ALPHA Warning) This command is currently in experimental mode. The node validate command suite provides a collection of commands for nodes to join the Primary Network and Subnets as validators. If any of the commands is run before the nodes are bootstrapped on the Primary Network, the command will fail. You can check the bootstrap status by calling avalanche node status `clusterName` -- [`whitelist`](#node-whitelist): (ALPHA Warning) The whitelist command suite provides a collection of tools for granting access to the cluster. +- [`whitelist`](#whitelist): (ALPHA Warning) The whitelist command suite provides a collection of tools for granting access to the cluster. Command adds IP if --ip params provided to cloud security access rules allowing it to access all nodes in the cluster via ssh or http. It also command adds SSH public key to all nodes in the cluster if --ssh params is there. @@ -2795,9 +2795,9 @@ avalanche primary [subcommand] [flags] **Subcommands:** -- [`addValidator`](#primary-addvalidator): The primary addValidator command adds a node as a validator +- [`addValidator`](#addvalidator): The primary addValidator command adds a node as a validator in the Primary Network -- [`describe`](#primary-describe): The subnet describe command prints details of the primary network configuration to the console. +- [`describe`](#describe): The subnet describe command prints details of the primary network configuration to the console. ### addValidator @@ -2882,7 +2882,7 @@ avalanche subnet [subcommand] [flags] **Subcommands:** -- [`addValidator`](#subnet-addvalidator): The blockchain addValidator command whitelists a primary network validator to +- [`addValidator`](#addvalidator): The blockchain addValidator command whitelists a primary network validator to validate the subnet of the provided deployed Blockchain. To add the validator to the Subnet's allow list, you first need to provide @@ -2892,15 +2892,15 @@ these prompts by providing the values with flags. This command currently only works on Blockchains deployed to either the Fuji Testnet or Mainnet. -- [`changeOwner`](#subnet-changeowner): The blockchain changeOwner changes the owner of the subnet of the deployed Blockchain. -- [`changeWeight`](#subnet-changeweight): The blockchain changeWeight command changes the weight of a Subnet Validator. +- [`changeOwner`](#changeowner): The blockchain changeOwner changes the owner of the subnet of the deployed Blockchain. +- [`changeWeight`](#changeweight): The blockchain changeWeight command changes the weight of a Subnet Validator. The Subnet has to be a Proof of Authority Subnet-Only Validator Subnet. -- [`configure`](#subnet-configure): AvalancheGo nodes support several different configuration files. Subnets have their own +- [`configure`](#configure): AvalancheGo nodes support several different configuration files. Subnets have their own Subnet config which applies to all chains/VMs in the Subnet. Each chain within the Subnet can have its own chain config. A chain can also have special requirements for the AvalancheGo node configuration itself. This command allows you to set all those files. -- [`create`](#subnet-create): The blockchain create command builds a new genesis file to configure your Blockchain. +- [`create`](#create): The blockchain create command builds a new genesis file to configure your Blockchain. By default, the command runs an interactive wizard. It walks you through all the steps you need to create your first Blockchain. @@ -2911,8 +2911,8 @@ the path to your genesis and VM binaries with the --genesis and --vm flags. By default, running the command with a blockchainName that already exists causes the command to fail. If you'd like to overwrite an existing configuration, pass the -f flag. -- [`delete`](#subnet-delete): The blockchain delete command deletes an existing blockchain configuration. -- [`deploy`](#subnet-deploy): The blockchain deploy command deploys your Blockchain configuration locally, to Fuji Testnet, or to Mainnet. +- [`delete`](#delete): The blockchain delete command deletes an existing blockchain configuration. +- [`deploy`](#deploy): The blockchain deploy command deploys your Blockchain configuration locally, to Fuji Testnet, or to Mainnet. At the end of the call, the command prints the RPC URL you can use to interact with the Subnet. @@ -2922,19 +2922,19 @@ allowed. If you'd like to redeploy a Blockchain locally for testing, you must fi avalanche network clean to reset all deployed chain state. Subsequent local deploys redeploy the chain with fresh state. You can deploy the same Blockchain to multiple networks, so you can take your locally tested Subnet and deploy it on Fuji or Mainnet. -- [`describe`](#subnet-describe): The blockchain describe command prints the details of a Blockchain configuration to the console. +- [`describe`](#describe): The blockchain describe command prints the details of a Blockchain configuration to the console. By default, the command prints a summary of the configuration. By providing the --genesis flag, the command instead prints out the raw genesis file. -- [`export`](#subnet-export): The blockchain export command write the details of an existing Blockchain deploy to a file. +- [`export`](#export): The blockchain export command write the details of an existing Blockchain deploy to a file. The command prompts for an output path. You can also provide one with the --output flag. -- [`import`](#subnet-import): Import blockchain configurations into avalanche-cli. +- [`import`](#import): Import blockchain configurations into avalanche-cli. This command suite supports importing from a file created on another computer, or importing from blockchains running public networks (e.g. created manually or with the deprecated subnet-cli) -- [`join`](#subnet-join): The subnet join command configures your validator node to begin validating a new Blockchain. +- [`join`](#join): The subnet join command configures your validator node to begin validating a new Blockchain. To complete this process, you must have access to the machine running your validator. If the CLI is running on the same machine as your validator, it can generate or update your node's @@ -2948,21 +2948,21 @@ you provide the --avalanchego-config flag, this command attempts to edit the con at that path. This command currently only supports Blockchains deployed on the Fuji Testnet and Mainnet. -- [`list`](#subnet-list): The blockchain list command prints the names of all created Blockchain configurations. Without any flags, +- [`list`](#list): The blockchain list command prints the names of all created Blockchain configurations. Without any flags, it prints some general, static information about the Blockchain. With the --deployed flag, the command shows additional information including the VMID, BlockchainID and SubnetID. -- [`publish`](#subnet-publish): The blockchain publish command publishes the Blockchain's VM to a repository. -- [`removeValidator`](#subnet-removevalidator): The blockchain removeValidator command stops a whitelisted, subnet network validator from +- [`publish`](#publish): The blockchain publish command publishes the Blockchain's VM to a repository. +- [`removeValidator`](#removevalidator): The blockchain removeValidator command stops a whitelisted, subnet network validator from validating your deployed Blockchain. To remove the validator from the Subnet's allow list, provide the validator's unique NodeID. You can bypass these prompts by providing the values with flags. -- [`stats`](#subnet-stats): The blockchain stats command prints validator statistics for the given Blockchain. -- [`upgrade`](#subnet-upgrade): The blockchain upgrade command suite provides a collection of tools for +- [`stats`](#stats): The blockchain stats command prints validator statistics for the given Blockchain. +- [`upgrade`](#upgrade): The blockchain upgrade command suite provides a collection of tools for updating your developmental and deployed Blockchains. -- [`validators`](#subnet-validators): The blockchain validators command lists the validators of a blockchain's subnet and provides +- [`validators`](#validators): The blockchain validators command lists the validators of a blockchain's subnet and provides several statistics about them. -- [`vmid`](#subnet-vmid): The blockchain vmid command prints the virtual machine ID (VMID) for the given Blockchain. +- [`vmid`](#vmid): The blockchain vmid command prints the virtual machine ID (VMID) for the given Blockchain. ### addValidator @@ -3828,12 +3828,12 @@ avalanche teleporter [subcommand] [flags] **Subcommands:** -- [`bridge`](#teleporter-bridge): The bridge command suite provides tools to deploy and manage Teleporter Bridges. +- [`bridge`](#bridge): The bridge command suite provides tools to deploy and manage Teleporter Bridges. Deprecation notice: use avalanche interchain tokenTransferrer' instead -- [`deploy`](#teleporter-deploy): Deploys Teleporter into a given Network and Subnet. -- [`msg`](#teleporter-msg): Sends and wait reception for a teleporter msg between two subnets (Currently only for local network). -- [`relayer`](#teleporter-relayer): The relayer command suite provides a collection of tools for deploying +- [`deploy`](#deploy): Deploys Teleporter into a given Network and Subnet. +- [`msg`](#msg): Sends and wait reception for a teleporter msg between two subnets (Currently only for local network). +- [`relayer`](#relayer): The relayer command suite provides a collection of tools for deploying and configuring an ICM relayers. ### bridge @@ -4119,8 +4119,8 @@ avalanche transaction [subcommand] [flags] **Subcommands:** -- [`commit`](#transaction-commit): The transaction commit command commits a transaction by submitting it to the P-Chain. -- [`sign`](#transaction-sign): The transaction sign command signs a multisig transaction. +- [`commit`](#commit): The transaction commit command commits a transaction by submitting it to the P-Chain. +- [`sign`](#sign): The transaction sign command signs a multisig transaction. ### commit