ape-cairo: A compiler plugin for the cairo programming language
Project description
Quick Start
Ape compiler plugin around the Cairo language.
Dependencies
- python3 version 3.8 or greater, python3-dev
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
In a project directory where there are .cairo
files in your contracts/
directory, run the compile
command:
ape compile
Configure Dependencies
You can configure dependencies, such as from GitHub
, using your ape-config.yaml
file.
There are two things you need to add:
- Add your dependency to Ape's root
dependencies:
key to trigger downloading and compiling it. - Configure the
ape-cairo
plugin to load that dependency in your project.
For more information on dependencies, see this guide.
Your resulting ape-config.yaml
will look something like:
dependencies:
- name: OpenZeppelinCairo
github: OpenZeppelin/cairo-contracts
version: 0.1.0
contracts_folder: src
cairo:
dependencies:
- OpenZeppelinCairo@0.1.0
NOTE: We are changing the contracts/
folder to be src
for this dependency.
Now, in my contracts/
folder, I can import from openzeppelin
:
from openzeppelin.token.erc20.library import (
ERC20_name,
ERC20_symbol,
ERC20_totalSupply,
ERC20_decimals,
ERC20_balanceOf,
ERC20_allowance,
ERC20_mint,
ERC20_burn,
ERC20_initializer,
ERC20_approve,
ERC20_increaseAllowance,
ERC20_decreaseAllowance,
ERC20_transfer,
ERC20_transferFrom
)
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for ape_cairo-0.5.0a0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c48da8920fa38373a6eadca6efd8901c10742dc06c0d97831879eb2ffef2508 |
|
MD5 | 4084b97f83eeaf71a3ddd8e563327e11 |
|
BLAKE2b-256 | 4aca7edd01db2277a1704ddd7fdb265255398144dbc110f28a476a08ac5631c4 |