pub enum Command {
Show 18 variants Init { name: String, javascript: bool, no_git: bool, }, Build { idl: Option<String>, skip_lint: bool, idl_ts: Option<String>, verifiable: bool, program_name: Option<String>, solana_version: Option<String>, docker_image: Option<String>, bootstrap: BootstrapMode, cargo_args: Vec<String>, no_docs: bool, }, Expand { program_name: Option<String>, cargo_args: Vec<String>, }, Verify { program_id: Pubkey, program_name: Option<String>, solana_version: Option<String>, docker_image: Option<String>, bootstrap: BootstrapMode, cargo_args: Vec<String>, }, Test { skip_deploy: bool, skip_lint: bool, skip_local_validator: bool, skip_build: bool, detach: bool, args: Vec<String>, cargo_args: Vec<String>, }, New { name: String, }, Idl { subcmd: IdlCommand, }, Clean, Deploy { program_name: Option<String>, program_keypair: Option<String>, }, Migrate, Upgrade { program_id: Pubkey, program_filepath: String, }, Cluster { subcmd: ClusterCommand, }, Shell, Run { script: String, script_args: Vec<String>, }, Login { token: String, }, Publish { program: String, cargo_args: Vec<String>, skip_build: bool, }, Keys { subcmd: KeysCommand, }, Localnet { skip_build: bool, skip_deploy: bool, skip_lint: bool, cargo_args: Vec<String>, },
}

Variants

Init

Fields

name: String
javascript: bool
no_git: bool

Initializes a workspace.

Build

Fields

idl: Option<String>

Output directory for the IDL.

skip_lint: bool

True if the build should not fail even if there are no “CHECK” comments where normally required

idl_ts: Option<String>

Output directory for the TypeScript IDL.

verifiable: bool

True if the build artifact needs to be deterministic and verifiable.

program_name: Option<String>
solana_version: Option<String>

Version of the Solana toolchain to use. For –verifiable builds only.

docker_image: Option<String>

Docker image to use. For –verifiable builds only.

bootstrap: BootstrapMode

Bootstrap docker image from scratch, installing all requirements for verifiable builds. Only works for debian-based images.

cargo_args: Vec<String>

Arguments to pass to the underlying cargo build-bpf command

no_docs: bool

Suppress doc strings in IDL output

Builds the workspace.

Expand

Fields

program_name: Option<String>

Expand only this program

cargo_args: Vec<String>

Arguments to pass to the underlying cargo expand command

Expands macros (wrapper around cargo expand)

Use it in a program folder to expand program

Use it in a workspace but outside a program folder to expand the entire workspace

Verify

Fields

program_id: Pubkey

The deployed program to compare against.

program_name: Option<String>
solana_version: Option<String>

Version of the Solana toolchain to use. For –verifiable builds only.

docker_image: Option<String>

Docker image to use. For –verifiable builds only.

bootstrap: BootstrapMode

Bootstrap docker image from scratch, installing all requirements for verifiable builds. Only works for debian-based images.

cargo_args: Vec<String>

Arguments to pass to the underlying cargo build-bpf command.

Verifies the on-chain bytecode matches the locally compiled artifact. Run this command inside a program subdirectory, i.e., in the dir containing the program’s Cargo.toml.

Test

Fields

skip_deploy: bool

Use this flag if you want to run tests against previously deployed programs.

skip_lint: bool

True if the build should not fail even if there are no “CHECK” comments where normally required

skip_local_validator: bool

Flag to skip starting a local validator, if the configured cluster url is a localnet.

skip_build: bool

Flag to skip building the program in the workspace, use this to save time when running test and the program code is not altered.

detach: bool

Flag to keep the local validator running after tests to be able to check the transactions.

args: Vec<String>
cargo_args: Vec<String>

Arguments to pass to the underlying cargo build-bpf command.

Runs integration tests against a localnetwork.

New

Fields

name: String

Creates a new program.

Idl

Fields

subcmd: IdlCommand

Commands for interacting with interface definitions.

Clean

Remove all artifacts from the target directory except program keypairs.

Deploy

Fields

program_name: Option<String>

Only deploy this program

program_keypair: Option<String>

Keypair of the program (filepath) (requires program-name)

Deploys each program in the workspace.

Migrate

Runs the deploy migration script.

Upgrade

Fields

program_id: Pubkey

The program to upgrade.

program_filepath: String

Filepath to the new program binary.

Deploys, initializes an IDL, and migrates all in one command. Upgrades a single program. The configured wallet must be the upgrade authority.

Cluster

Fields

Cluster commands.

Shell

Starts a node shell with an Anchor client setup according to the local config.

Run

Fields

script: String

The name of the script to run.

script_args: Vec<String>

Argument to pass to the underlying script.

Runs the script defined by the current workspace’s Anchor.toml.

Login

Fields

token: String

API access token.

Saves an api token from the registry locally.

Publish

Fields

program: String

The name of the program to publish.

cargo_args: Vec<String>

Arguments to pass to the underlying cargo build-bpf command.

skip_build: bool

Flag to skip building the program in the workspace, use this to save time when publishing the program

Publishes a verified build to the Anchor registry.

Keys

Fields

subcmd: KeysCommand

Keypair commands.

Localnet

Fields

skip_build: bool

Flag to skip building the program in the workspace, use this to save time when running test and the program code is not altered.

skip_deploy: bool

Use this flag if you want to run tests against previously deployed programs.

skip_lint: bool

True if the build should not fail even if there are no “CHECK” comments where normally required

cargo_args: Vec<String>

Arguments to pass to the underlying cargo build-bpf command.

Localnet commands.

Trait Implementations

Deprecated, replaced with CommandFactory::command

Deprecated, replaced with CommandFactory::command_for_update

Build a Command that can instantiate Self. Read more

Build a Command that can update self. Read more

Formats the value using the given formatter. Read more

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more

Assign values from ArgMatches to self.

Assign values from ArgMatches to self.

Parse from std::env::args_os(), exit on error

Parse from std::env::args_os(), return Err on error.

Parse from iterator, exit on error

Parse from iterator, return Err on error.

Update from iterator, exit on error

Update from iterator, return Err on error.

Append to Command so it can instantiate Self. Read more

Append to Command so it can update self. Read more

Test whether Self can parse a specific subcommand

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The alignment of pointer.

The type for initializers.

Initializes a with the given initializer. Read more

Dereferences the given pointer. Read more

Mutably dereferences the given pointer. Read more

Drops the object pointed to by the given pointer. Read more

Should always be Self

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more