Compiling a Cairo 1 Project with Protostar
To build your contracts, first define them in protostar.toml
To build run
protostar build
Check CLI reference for more details.
Output directory
Running protostar build command will generate the compiled contracts in
the build directory by default.
You can specify a custom output directory using
the --compiled-contracts-dir argument.
$ protostar build --compiled-contracts-dir out
.sierra.json files contain contracts compiled to the sierra format. This format is used to declare contracts on
Starknet.
Read more about
sierra here.
.casm.json files contain contracts compiled to the casm format which can be executed on the Cairo Virtual Machine. This
format is used to calculate compiled_class_hash of a contract.
.class_hash files contain class hash of the built contract
.compiled_class_hash files contain compiled class hash of the built contract
If you need to print machine-readable output in JSON format, you should use --json flag.
Compiling a single contract
If your protostar.toml file defines multiple contracts, and you wish to compile only one of them, you can specify
the --contract-name argument:
$ protostar build --contract-name my_contract