forc-build
Compile the current or target project.
The output produced will depend on the project's program type.
- 
script,predicateandcontractprojects will produce their bytecode in binary format<project-name>.bin.
- 
scriptprojects will also produce a file containing the hash of the bytecode binary<project-name>-bin-hash(usingfuel_cypto::Hasher).
- 
predicateprojects will also produce a file containing the root hash of the bytecode binary<project-name>-bin-root(usingfuel_tx::Contract::root_from_code).
- 
contractandlibraryprojects will also produce the public ABI in JSON format<project-name>-abi.json.
USAGE:
forc build [OPTIONS]
OPTIONS:
--build-profile <BUILD_PROFILE>
Name of the build profile to use. If it is not specified, forc will use debug build profile
-g, --debug-outfile <DEBUG_OUTFILE>
If set, outputs source file mapping in JSON format
-h, --help 
Print help information
--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
--minify-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
-o <BINARY_OUTFILE>
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
--print-finalized-asm 
Whether to compile to bytecode (false) or to print out the generated ASM (true)
--print-intermediate-asm 
Whether to compile to bytecode (false) or to print out the generated ASM (true)
--print-ir 
Whether to compile to bytecode (false) or to print out the generated IR (true)
--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.
-s, --silent 
Silent mode. Don't output any warnings or errors to the command line
EXAMPLE:
Compile the sway files of the current project.
$ forc build
Compiled script "my-fuel-project".
Bytecode size is 28 bytes.
The output produced will depend on the project's program type. Building script, predicate and contract projects will produce their bytecode in binary format <project-name>.bin. Building contracts and libraries will also produce the public ABI in JSON format <project-name>-abi.json.
By default, these artifacts are placed in the out/ directory.
If a Forc.lock file did not yet exist, it will be created in order to pin each of the dependencies listed in Forc.toml to a specific commit or version.