Build profile options
forc deploy [OPTIONS] [SIGNING_KEY]
<SIGNING_KEY> Set the key to be used for signing
--ast
Print the generated Sway AST (Abstract Syntax Tree)
--build-profile
<BUILD_PROFILE>
Name of the build profile to use.
If unspecified, forc will use debug build profile.
--dca-graph
<DCA_GRAPH>
Print the computed Sway DCA graph. DCA graph is printed to the specified path. If specified '' graph is printed to stdout
--dca-graph-url-format
<DCA_GRAPH_URL_FORMAT>
Specifies the url format to be used in the generated dot file. Variables {path}, {line} {col} can be used in the provided format. An example for vscode would be: "vscode://file/{path}:{line}:{col}"
--default-salt
Generate a default salt (0x0000000000000000000000000000000000000000000000000000000000000000) for the contract. Useful for CI, to create reproducable deployments
--error-on-warnings
Treat warnings as errors
--finalized-asm
Print the finalized ASM.
This is the state of the ASM with registers allocated and optimisations applied.
-g
, --output-debug
<DEBUG_FILE>
If set, outputs source file mapping in JSON format
--gas-limit
<LIMIT>
Gas limit for the transaction
[default: 100000000]
--gas-price
<PRICE>
Gas price for the transaction
[default: 0]
-h
, --help
Print help information
--intermediate-asm
Print the generated ASM.
This is the state of the ASM prior to performing register allocation and other ASM optimisations.
--ipfs-node
<IPFS_NODE>
The IPFS Node to use for fetching IPFS sources.
Possible values: PUBLIC, LOCAL, <GATEWAY_URL>
--ir
Print the generated Sway IR (Intermediate Representation)
--json-abi
By default the JSON for ABIs is formatted for human readability. By using this option JSON output will be "minified", i.e. all on one line without whitespace
--json-abi-with-callpaths
Outputs json abi with callpaths instead of names for struct and enums
--json-storage-slots
By default the JSON for initial storage slots is formatted for human readability. By using this option JSON output will be "minified", i.e. all on one line without whitespace
--locked
Requires that the Forc.lock file is up-to-date. If the lock file is missing, or it needs to be updated, Forc will exit with an error
--manual-signing
Sign the deployment transaction manually
--maturity
<MATURITY>
Block height until which tx cannot be included
[default: 0]
--metrics-outfile
<METRICS_OUTFILE>
Output compilation metrics into file
--node-url
<NODE_URL>
The URL of the Fuel node to which we're submitting the transaction. If unspecified, checks the manifest's network
table, then falls back to [crate::default::NODE_URL
]
[env: FUEL_NODE_URL=]
-o
, --output-bin
<BIN_FILE>
If set, outputs a binary file representing the script bytes
--offline
Offline mode, prevents Forc from using the network when managing dependencies. Meaning it will only try to use previously downloaded dependencies
--output-directory
<OUTPUT_DIRECTORY>
The directory in which the sway compiler output artifacts are placed.
By default, this is <project-root>/out
.
-p
, --path
<PATH>
Path to the project, if not specified, current working directory will be used
--release
Use release build plan. If a custom release plan is not specified, it is implicitly added to the manifest file.
If --build-profile is also provided, forc omits this flag and uses provided build-profile.
--reverse-order
Output build errors and warnings in reverse order
--salt
<SALT>
Optional 256-bit hexadecimal literal(s) to redeploy contracts.
For a single contract, use --salt <SALT>
, eg.: forc deploy --salt 0x0000000000000000000000000000000000000000000000000000000000000001
For a workspace with multiple contracts, use --salt <CONTRACT_NAME>:<SALT>
to specify a salt for each contract, eg.:
forc deploy --salt contract_a:0x0000000000000000000000000000000000000000000000000000000000000001 --salt contract_b:0x0000000000000000000000000000000000000000000000000000000000000002
-t
, --terse
Terse mode. Limited warning and error output
--target
<TARGET>
Use preset configurations for deploying to a specific target.
Possible values are: [beta-1, beta-2, beta-3, latest]
--testnet
Use preset configuration for the latest testnet
--time-phases
Output the time elapsed over each part of the compilation process
--unsigned
Do not sign the transaction
-V
, --version
Print version information
You can use forc deploy
, which triggers a contract deployment transaction and sends it to a running node.
Alternatively, you can deploy your Sway contract programmatically using fuels-rs , our Rust SDK.
You can find an example within our fuels-rs book.