From ab1dd6bce54b88069975dbbc1291dcff8d1355fb Mon Sep 17 00:00:00 2001 From: containerman17 <8990432+containerman17@users.noreply.github.com> Date: Sat, 27 Jun 2026 19:52:36 +0900 Subject: [PATCH] docs: use platform-cli command name --- .goreleaser.yaml | 8 +++--- CLAUDE.md | 4 +-- README.md | 18 ++++++------ cmd/keys.go | 32 ++++++++++----------- cmd/root.go | 12 ++++---- docs/networks.md | 12 ++++---- docs/testing.md | 4 +-- docs/usage.md | 68 ++++++++++++++++++++++----------------------- e2e/cli_test.go | 2 +- e2e/test_helpers.go | 2 +- install.sh | 2 +- 11 files changed, 82 insertions(+), 82 deletions(-) diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 80e1ba6..2917084 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -6,8 +6,8 @@ before: - go vet ./... builds: - - id: platform - binary: platform + - id: platform-cli + binary: platform-cli main: . env: - CGO_ENABLED=1 @@ -26,9 +26,9 @@ builds: - CC=aarch64-linux-gnu-gcc archives: - - id: platform + - id: platform-cli builds: - - platform + - platform-cli format: tar.gz name_template: "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}" diff --git a/CLAUDE.md b/CLAUDE.md index 7064be4..be93234 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -64,7 +64,7 @@ e2e/ - End-to-end tests (run against real networks) ```bash # Build -go build -o platform . +go build -o platform-cli . # Lint & vet (run before committing) go vet ./... @@ -140,7 +140,7 @@ if err != nil { ## Transaction Flow Example ``` -User runs: platform subnet create --network fuji +User runs: platform-cli subnet create --network fuji 1. cmd/subnet.go: Parse flags, load key 2. pkg/wallet/wallet.go: Create wallet from private key diff --git a/README.md b/README.md index 2df95c4..92a5933 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# platform +# platform-cli Minimal CLI for Avalanche P-Chain operations. @@ -8,7 +8,7 @@ Requirements: - Go 1.24.13+ ```bash -go install github.com/ava-labs/platform-cli@latest +go install github.com/ava-labs/platform-cli@main ``` Or build from source: @@ -16,26 +16,26 @@ Or build from source: ```bash git clone https://github.com/ava-labs/platform-cli.git cd platform-cli -go build -o platform . +go build -o platform-cli . ``` For Ledger support, build with: ```bash -go build -tags ledger -o platform . +go build -tags ledger -o platform-cli . ``` ## Quick Start ```bash # Generate a key -platform keys generate --name mykey +platform-cli keys generate --name mykey # Check your address -platform wallet address --key-name mykey +platform-cli wallet address --key-name mykey # Check balance on Fuji -platform wallet balance --network fuji --key-name mykey +platform-cli wallet balance --network fuji --key-name mykey ``` ## Documentation @@ -50,6 +50,6 @@ Detailed docs live in [`docs/`](docs/README.md): ## CLI Help ```bash -platform --help -platform --help +platform-cli --help +platform-cli --help ``` diff --git a/cmd/keys.go b/cmd/keys.go index 7da80e2..b830621 100644 --- a/cmd/keys.go +++ b/cmd/keys.go @@ -60,9 +60,9 @@ When encryption is enabled, set PLATFORM_CLI_KEY_PASSWORD for non-interactive us or follow the password prompt. Examples: - platform keys import --name mykey --private-key "PrivateKey-..." - platform keys import --name mykey - platform keys import --name mykey --encrypt=false`, + platform-cli keys import --name mykey --private-key "PrivateKey-..." + platform-cli keys import --name mykey + platform-cli keys import --name mykey --encrypt=false`, RunE: func(cmd *cobra.Command, args []string) error { if keyName == "" { return fmt.Errorf("--name is required") @@ -155,8 +155,8 @@ When encryption is enabled, set PLATFORM_CLI_KEY_PASSWORD for non-interactive us or follow the password prompt. Examples: - platform keys generate --name mykey - platform keys generate --name mykey --encrypt=false`, + platform-cli keys generate --name mykey + platform-cli keys generate --name mykey --encrypt=false`, RunE: func(cmd *cobra.Command, args []string) error { if keyName == "" { return fmt.Errorf("--name is required") @@ -217,7 +217,7 @@ Examples: } fmt.Println() - fmt.Println("WARNING: Back up your key! Use 'platform keys export' to view the private key.") + fmt.Println("WARNING: Back up your key! Use 'platform-cli keys export' to view the private key.") return nil }, @@ -231,8 +231,8 @@ var keysListCmd = &cobra.Command{ Use --show-addresses to display P-Chain and EVM addresses. Examples: - platform keys list - platform keys list --show-addresses`, + platform-cli keys list + platform-cli keys list --show-addresses`, RunE: func(cmd *cobra.Command, args []string) error { ks, err := keystore.Load() if err != nil { @@ -241,7 +241,7 @@ Examples: entries := ks.ListKeys() if len(entries) == 0 { - fmt.Println("No keys found. Use 'platform keys import' or 'platform keys generate' to add a key.") + fmt.Println("No keys found. Use 'platform-cli keys import' or 'platform-cli keys generate' to add a key.") return nil } @@ -302,9 +302,9 @@ If you really need stdout output, you must pass --unsafe-stdout. If the key is encrypted, you will be prompted for the password. Examples: - platform keys export --name mykey --output-file ./mykey.txt - platform keys export --name mykey --format hex --output-file ./mykey.hex - platform keys export --name mykey --unsafe-stdout`, + platform-cli keys export --name mykey --output-file ./mykey.txt + platform-cli keys export --name mykey --format hex --output-file ./mykey.hex + platform-cli keys export --name mykey --unsafe-stdout`, RunE: func(cmd *cobra.Command, args []string) error { if keyName == "" { return fmt.Errorf("--name is required") @@ -371,8 +371,8 @@ var keysDeleteCmd = &cobra.Command{ This action is irreversible! Make sure you have a backup of your key. Examples: - platform keys delete --name mykey - platform keys delete --name mykey --force`, + platform-cli keys delete --name mykey + platform-cli keys delete --name mykey --force`, RunE: func(cmd *cobra.Command, args []string) error { if keyName == "" { return fmt.Errorf("--name is required") @@ -425,8 +425,8 @@ When no --name is provided, shows the current default key. When --name is provided, sets that key as the default. Examples: - platform keys default - platform keys default --name mykey`, + platform-cli keys default + platform-cli keys default --name mykey`, RunE: func(cmd *cobra.Command, args []string) error { ks, err := keystore.Load() if err != nil { diff --git a/cmd/root.go b/cmd/root.go index 5e903d4..e675423 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -35,17 +35,17 @@ var ( // rootCmd represents the base command when called without any subcommands var rootCmd = &cobra.Command{ - Use: "platform", + Use: "platform-cli", Short: "Avalanche P-Chain CLI", SilenceErrors: true, SilenceUsage: true, Long: `Avalanche P-Chain operations: staking, subnets, transfers, and L1 validators. Example usage: - platform wallet balance --key-name mykey - platform validator add --node-id NodeID-... --stake 2000 - platform transfer p-to-c --amount 10 --key-name mykey - platform subnet create --network fuji --key-name mykey + platform-cli wallet balance --key-name mykey + platform-cli validator add --node-id NodeID-... --stake 2000 + platform-cli transfer p-to-c --amount 10 --key-name mykey + platform-cli subnet create --network fuji --key-name mykey Environment Variables: AVALANCHE_PRIVATE_KEY Private key fallback (prefer --key-name or --ledger) @@ -76,7 +76,7 @@ func init() { Use: "version", Short: "Print the CLI version", Run: func(cmd *cobra.Command, args []string) { - fmt.Println("platform " + version) + fmt.Println("platform-cli " + version) }, }) } diff --git a/docs/networks.md b/docs/networks.md index 232a9eb..10a092e 100644 --- a/docs/networks.md +++ b/docs/networks.md @@ -13,20 +13,20 @@ For local networks, devnets, or custom RPC endpoints, use `--rpc-url`: ```bash # Local network (e.g. avalanche-network-runner) -platform wallet balance --rpc-url http://127.0.0.1:9650 --key-name ewoq +platform-cli wallet balance --rpc-url http://127.0.0.1:9650 --key-name ewoq # Custom devnet (auto-detects network ID) -platform wallet balance --rpc-url https://my-devnet:9650 --key-name mykey +platform-cli wallet balance --rpc-url https://my-devnet:9650 --key-name mykey # Explicit network ID if auto-detection fails -platform wallet balance --rpc-url https://my-devnet:9650 --network-id 12345 --key-name mykey +platform-cli wallet balance --rpc-url https://my-devnet:9650 --network-id 12345 --key-name mykey # Works across commands -platform subnet create --rpc-url https://my-devnet:9650 --key-name mykey -platform transfer send --rpc-url https://my-devnet:9650 --to
--amount 1.0 +platform-cli subnet create --rpc-url https://my-devnet:9650 --key-name mykey +platform-cli transfer send --rpc-url https://my-devnet:9650 --to
--amount 1.0 # Non-local HTTP is blocked by default; enable only on trusted networks -platform wallet balance --rpc-url http://my-devnet:9650 --allow-insecure-http --key-name mykey +platform-cli wallet balance --rpc-url http://my-devnet:9650 --allow-insecure-http --key-name mykey ``` When using `--rpc-url`: diff --git a/docs/testing.md b/docs/testing.md index 65ab32c..fe1eef0 100644 --- a/docs/testing.md +++ b/docs/testing.md @@ -15,14 +15,14 @@ go test -tags=clie2e -v ./e2e/... -run "Help|Params|MissingArgs" # Ledger-tag compile/unit checks go test -tags=ledger ./... -go build -tags ledger -o platform-ledger . +go build -tags ledger -o platform-cli-ledger . ``` ## End-to-End Tests ```bash # Build first -go build -o platform . +go build -o platform-cli . # Network e2e tests are opt-in to avoid accidental live transactions # Set RUN_E2E_NETWORK_TESTS=1 when you intentionally want to run them diff --git a/docs/usage.md b/docs/usage.md index 4f94e82..e196649 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -14,22 +14,22 @@ Examples: ```bash # Check Ledger address -platform wallet address --ledger +platform-cli wallet address --ledger # Check balance -platform wallet balance --ledger --network fuji +platform-cli wallet balance --ledger --network fuji # Send AVAX (requires device confirmation) -platform transfer send --ledger --to
--amount 1.0 +platform-cli transfer send --ledger --to
--amount 1.0 # Cross-chain transfer -platform transfer p-to-c --ledger --amount 0.5 +platform-cli transfer p-to-c --ledger --amount 0.5 # Create subnet -platform subnet create --ledger --network fuji +platform-cli subnet create --ledger --network fuji # Use a different address index (default: 0) -platform wallet address --ledger --ledger-index 2 +platform-cli wallet address --ledger --ledger-index 2 ``` ## Command Reference @@ -37,42 +37,42 @@ platform wallet address --ledger --ledger-index 2 ### Key Management ```bash -platform keys generate --name [--encrypt] -platform keys import --name --private-key "PrivateKey-..." -platform keys list [--show-addresses] -platform keys export --name --output-file [--format cb58|hex] -platform keys export --name --unsafe-stdout [--format cb58|hex] # discouraged -platform keys delete --name [--force] -platform keys default [--name ] +platform-cli keys generate --name [--encrypt] +platform-cli keys import --name --private-key "PrivateKey-..." +platform-cli keys list [--show-addresses] +platform-cli keys export --name --output-file [--format cb58|hex] +platform-cli keys export --name --unsafe-stdout [--format cb58|hex] # discouraged +platform-cli keys delete --name [--force] +platform-cli keys default [--name ] ``` ### Wallet ```bash -platform wallet address -platform wallet balance +platform-cli wallet address +platform-cli wallet balance ``` ### Transfers ```bash # P-Chain to P-Chain -platform transfer send --to
--amount +platform-cli transfer send --to
--amount # Cross-chain (P <-> C) -platform transfer p-to-c --amount -platform transfer c-to-p --amount +platform-cli transfer p-to-c --amount +platform-cli transfer c-to-p --amount # Manual export/import -platform transfer export --from p --to c --amount -platform transfer import --from p --to c +platform-cli transfer export --from p --to c --amount +platform-cli transfer import --from p --to c ``` ### Primary Network Staking ```bash # Add validator (mainnet minimum: 2000 AVAX, 14 days) -platform validator add \ +platform-cli validator add \ --node-id NodeID-... \ --bls-public-key \ --bls-pop \ @@ -81,7 +81,7 @@ platform validator add \ --delegation-fee 0.02 # Delegate to validator (mainnet minimum: 25 AVAX) -platform validator delegate \ +platform-cli validator delegate \ --node-id NodeID-... \ --stake 100 \ --duration 336h @@ -90,16 +90,16 @@ platform validator delegate \ ### Subnets ```bash -platform subnet create -platform subnet transfer-ownership --subnet-id --new-owner
-platform subnet convert-l1 --subnet-id --chain-id --validators [--manager ] -platform subnet convert-l1 --subnet-id --chain-id --validators [--contract-address ] -platform subnet convert-l1 --subnet-id --chain-id \ +platform-cli subnet create +platform-cli subnet transfer-ownership --subnet-id --new-owner
+platform-cli subnet convert-l1 --subnet-id --chain-id --validators [--manager ] +platform-cli subnet convert-l1 --subnet-id --chain-id --validators [--contract-address ] +platform-cli subnet convert-l1 --subnet-id --chain-id \ --validator-node-ids NodeID-...,NodeID-... \ --validator-bls-public-keys , \ --validator-bls-pops , \ [--manager ] -platform subnet convert-l1 --subnet-id --chain-id --mock-validator +platform-cli subnet convert-l1 --subnet-id --chain-id --mock-validator ``` `convert-l1` notes: @@ -121,22 +121,22 @@ platform subnet convert-l1 --subnet-id --chain-id --mock ### L1 Validators ```bash -platform l1 register-validator --balance --pop --message # balance > 0 -platform l1 set-weight --message -platform l1 add-balance --validation-id --balance # balance > 0 -platform l1 disable-validator --validation-id +platform-cli l1 register-validator --balance --pop --message # balance > 0 +platform-cli l1 set-weight --message +platform-cli l1 add-balance --validation-id --balance # balance > 0 +platform-cli l1 disable-validator --validation-id ``` ### Chains ```bash -platform chain create --subnet-id --genesis --name +platform-cli chain create --subnet-id --genesis --name ``` ### Node Info ```bash -platform node info --ip [--allow-insecure-http] +platform-cli node info --ip [--allow-insecure-http] ``` ## Key Loading Priority diff --git a/e2e/cli_test.go b/e2e/cli_test.go index ecdc65f..6263c77 100644 --- a/e2e/cli_test.go +++ b/e2e/cli_test.go @@ -47,7 +47,7 @@ func runCLI(t *testing.T, args ...string) (string, string, error) { binPath := cliBinaryPath if binPath == "" { // Fallback for direct execution without TestMain setup. - binPath = "../platform" + binPath = "../platform-cli" } cmd := exec.Command(binPath, fullArgs...) cmd.Env = os.Environ() diff --git a/e2e/test_helpers.go b/e2e/test_helpers.go index 5662e7f..8390501 100644 --- a/e2e/test_helpers.go +++ b/e2e/test_helpers.go @@ -29,7 +29,7 @@ func buildCLIBinaryForE2E() (string, func(), error) { return "", nil, fmt.Errorf("failed to create temp dir: %w", err) } - binPath := filepath.Join(tempDir, "platform") + binPath := filepath.Join(tempDir, "platform-cli") cmd := exec.Command("go", "build", "-o", binPath, ".") cmd.Dir = ".." if out, err := cmd.CombinedOutput(); err != nil { diff --git a/install.sh b/install.sh index 0bb2fac..2ef7eac 100755 --- a/install.sh +++ b/install.sh @@ -7,7 +7,7 @@ set -e REPO="ava-labs/platform-cli" -BINARY="platform" +BINARY="platform-cli" GITHUB="https://github.com" # Defaults