lux vm

Manage VM plugins

lux vm

Commands for installing, linking, and managing VM plugins.

VM plugins are stored as symlinks in ~/.lux/plugins/<vmid>. The VMID is calculated from the VM name (padded to 32 bytes, CB58 encoded).

Examples: lux vm link lux-evm --path ~/work/lux/evm/build/evm lux vm status lux vm unlink lux-evm lux vm reload

Usage:

lux vm

lux vm install

Install a VM plugin from GitHub releases.

Downloads the latest (or specified) version from GitHub releases and installs it to ~/.lux/plugins/packages/<org>/<name>/<version>/.

Package format: <org>/<name> or <org>/<name>@<version>

Examples: lux vm install luxfi/evm # Install latest lux vm install luxfi/[email protected] # Install specific version lux vm install myuser/myvm # Install from any org

Usage:

lux vm install <org/name>[@version] [flags]

Flags:

  -v, --version string   Version to install (default: latest)

Link a local VM binary to the plugins directory for development.

Creates a proper package entry and VMID symlink for a locally built VM binary. Use this during development to test local builds with the node.

Package format: <org>/<name> (e.g., luxfi/evm, myuser/myvm)

The binary must exist and be executable.

Examples: lux vm link luxfi/evm ~/work/lux/evm/build/evm lux vm link luxfi/evm ~/work/lux/evm/build/evm --version v1.2.3-dev lux vm link myuser/myvm /path/to/myvm/build/myvm

Usage:

lux vm link <org/name> <path> [flags]

Flags:

  -v, --version string   Version label (default: v0.0.0-local)

lux vm reload

Reload VMs on network nodes by calling admin.loadVMs.

This triggers the node to scan the plugins directory and load any new VMs.

Examples: lux vm reload lux vm reload --endpoint http://127.0.0.1:9630

Usage:

lux vm reload [flags]

Flags:

  -e, --endpoint string    Node endpoint to call admin.loadVMs on (default "http://127.0.0.1:9630")
  -t, --timeout duration   Timeout for the reload request (default 30s)

lux vm status

Show all linked VMs in the plugins directory.

Displays VMID, name (if known), target path, and whether the target exists.

Examples: lux vm status lux vm status --json

Usage:

lux vm status [flags]

Flags:

      --json   Output in JSON format

Remove a VM symlink from the plugins directory.

Removes the symlink at ~/.lux/plugins/<vmid> for the given VM name.

Examples: lux vm unlink lux-evm lux vm unlink "Lux EVM"

Usage:

lux vm unlink <vm-name>