STARKIRO is a collection of educational scripts built using the Cairo programming language, specifically designed for the Starknet ecosystem. These scripts are ideal for both beginners and intermediate developers looking to deepen their understanding of Cairo and Starknet concepts.
-
Install Cargo
Scarb, the official build tool for Cairo, relies on Cargo as a dependency. Cargo is included with the Rust programming language. Follow these steps to install Cargo:
Visit the Rust installation page and follow the instructions to install Rust, which includes Cargo.
Alternatively, use the appropriate command for your operating system
- Linux and macOS
curl https://sh.rustup.rs -sSf | sh - Windows Download and run the installer from the official Rust website.
- Linux and macOS
-
Verify Cargo Installation
Confirm that Cargo is installed by checking its version:
cargo --version-
Install Scarb
Please refer to the asdf documentation to install all prerequisites
To get started, install Scarb by running the following commands in your terminal:
asdf plugin add scarb
asdf install scarb latest
asdf global scarb latest-
Verify Scarb Installation
Confirm that Scarb is installed correctly by checking its version:
scarb --versionFirst, navigate to the general examples/cairo/scripts/ directory:
cd examples/cairo/scripts/Then, navigate to the specific script's directory you want to run. For example, if the script you want to execute is in a folder named example_script, navigate into that directory:
cd example_scriptBuild the project with the following command:
scarb buildTo execute the main function of the script, use:
scarb cairo-run-
Install Cargo
Scarb, the official build tool for Cairo, relies on Cargo as a dependency. Cargo is included with the Rust programming language. Follow these steps to install Cargo:
Visit the Rust installation page and follow the instructions to install Rust, which includes Cargo.
Alternatively, use the appropriate command for your operating system
- Linux and macOS
curl https://sh.rustup.rs -sSf | sh - Windows Download and run the installer from the official Rust website.
- Linux and macOS
-
Verify Cargo Installation
Confirm that Cargo is installed by checking its version:
cargo --version-Install asdf Before installing Scarb, you have to install asdf by following the official asdf docs
-
Verify asdf Installation
Confirm that asdf is installed by checking its version:
asdf --version- Install Scarb Before you can build and test Cairo contracts, you need to have Scarb, the official build tool for Cairo. Install it with these steps:
asdf plugin add scarb
asdf install scarb latest- Install Starknet Foundry Install SnForge (Cairo Testing Framework) SnForge is the tool used to run unit tests for Cairo contracts in the Starknet ecosystem. Install it by running:
asdf plugin add starknet-foundry
asdf install starknet-foundry latestAfter installation, confirm that both tools are correctly installed by running:
For Scarb:
scarb --versionFor SnForge:
snforge --versionProceed to the directory where your Cairo contract is located.
Example:
cd path/to/your/cairo-contract-directoryUse Scarb to compile your Cairo contract by running:
scarb buildThis will generate the necessary artifacts for your Cairo contract.
Once the contract is compiled, you can run unit tests using SnForge. .
To run your contract's tests, use the following command:
snforge testSnForge will automatically detect the test files in your project and run them.
After running the tests, you will see the results in your terminal. If the tests fail, the output will include details that will help you debug the issue. If everything passes, youβll see confirmation that your contract is working as expected.
The .tool-versions file is a configuration file used by asdf to manage the versions of tools and dependencies required for each script or contract. It ensures consistency across development environments and helps avoid version mismatches.
When you navigate to a directory containing a .tool-versions file, asdf automatically switches to the specified versions of the tools listed in the file.
Here is an example of how a .tool-versions file might look:
scarb 0.5.2
cairo-lang 2.0.0
This example specifies that the project requires Scarb version 0.5.2 and Cairo version 2.0.0.
If you attempt to compile a Cairo file with incorrect versions of dependencies, you may encounter an error like this:
Error: No such command `cairo-build`. Please ensure you have the correct version of Cairo installed.
To resolve this, navigate to the directory containing the .tool-versions file and run:
asdf installThis will install the correct versions of the tools specified in the .tool-versions file.
- Always check the
.tool-versionsfile in the script or contract directory before building or running. - Use
asdf installto ensure all required dependencies are correctly installed.
You can deploy your smart contracts using the IDE or on Sepolia Testnet using sncast
-
For deployment using IDE, follow the steps here Deployment of Contracts using IDE
-
Also for deployment of contracts using sncast, follow the steps here Deployment of Contracts using sncast
