Update `forc` README for recent `out/` and lock file changes
Related PRs
@@ -27,7 +27,7 @@ A `tests/` directory is also created. The `Cargo.toml` in the root directory con
## Build (`forc build`)
-Compiles Sway files.
+Compile the sway files of the current project.
```console
$ forc build
@@ -35,6 +35,16 @@ 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.
+
+## Update (`forc update`)
+
+Updates each of the dependencies so that they point to the latest suitable commit or version given their dependency declaration. The result is written to the `Forc.lock` file.
+
## Test (`forc test`)
You can write tests in Rust using our [Rust SDK](https://github.com/FuelLabs/fuels-rs). These tests can be run using `forc test`, which will look for Rust tests under the `tests/` directory (which is created automatically with `forc init`).
@@ -147,10 +157,6 @@ let compiled = Contract::compile_sway_contract("./", salt).unwrap();
let (client, contract_id) = Contract::launch_and_deploy(&compiled).await.unwrap();
```
-## Update (`forc update`)
-
-Update dependencies in the Forc dependencies directory.
-
## Format (`forc fmt`)
Format all Sway files of the current project.
