Project Initialization

python3 -m venv cairo-env
source cairo-env/bin/activate
pip install cairo-nile
nile install
pip install openzeppelin-cairo-contracts

Run a local starknet-devnet node

nile node

Compiling Contracts

nile compile # compiles all contracts under contracts/
nile compile --directory my_contracts # compiles all contracts under my_contracts/
nile compile contracts/MyContract.cairo # compiles single contract
nile compile contracts/MyContract.cairo --disable-hint-validation # compiles single contract with unwhitelisted hints
nile compile contracts/NewAccountType.cairo --account_contract # compiles account contract

Compiled Contracts will be writter in artifacts/ directory

Deploying Contract

nile deploy MyContract --alias my_contract --network localhost
# Networks : localhost, goerli, mainnet

Account Contracts

nile setup <private_key_alias>