ape-cairo 0.6.1

Last updated:

0 purchases

ape-cairo 0.6.1 Image
ape-cairo 0.6.1 Images
Add to Cart

Description:

apecairo 0.6.1

Quick Start
Ape compiler plugin around the Cairo language.
Dependencies

python3 version 3.8 or greater, python3-dev
Rust

Installation
via pip
You can install the latest release via pip:
pip install ape-cairo

via setuptools
You can clone the repository and use setuptools for the most up-to-date version:
git clone https://github.com/ApeWorX/ape-cairo.git
cd ape-cairo
python3 setup.py install

Quick Usage
First, you will need to tell ape-cairo how to use the Cairo compiler.
There are two ways to do this:

Configure your Cairo manifest path in your ape-config.yaml.
Build or add Cairo compiler binaries to your $PATH.

Both options require cloning the Cairo compiler source code:
git clone [email protected]:starkware-libs/cairo.git
cd cairo
git fetch --all
git checkout <tag> # e.g. v1.0.0-alpha.6

To do the first option, add the following to your ape-config.yaml file:
cairo:
manifest: /Users/home/path/to/cairo/Cargo.toml

Now, when compiling, Ape will use the command cargo run --bin <BIN> --manifest-path <CAIRO-MANIFEST>.
To do the second option instead, build the release binaries for your OS:
cargo build --release

NOTE: This requires being in the same directory as Cairo.
After the build completes, add the target path to your global $PATH variable.
(You may want to add this to your .zshrc / .bashrc file):
export PATH=$PATH:$HOME/path/to/cairo/target/release

Verify you have sierra-compile in your $PATH by doing:
which sierra-compile

WARN: Note that when using Cairo-lang the python package, it will add conflicting binaries with the same name.
You will need to ensure you are using the correct binaries if you have cairo-lang the Python package installed.
which starknet-compile

Alternatively, the first approach avoids this problem.
Using the Compiler
In a project directory where there are .cairo files in your contracts/ directory, run the compile command:
ape compile

It should create ContractType objects in your .build/ folder containing the necessary Sierra code for contract declaration.
Development
This project is in development and should be considered a beta.
Things might not be in their final state and breaking changes may occur.
Comments, questions, criticisms and pull requests are welcomed.

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.