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 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
File details
Details for the file ape-cairo-0.5.0a5.tar.gz
.
File metadata
- Download URL: ape-cairo-0.5.0a5.tar.gz
- Upload date:
- Size: 22.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f75e722353cba9a522ae9cb1b39d9450dad34600381c8738acf8f7015c7d45d9 |
|
MD5 | 08ca8acaf2a89c69d6dbb2280cc9b906 |
|
BLAKE2b-256 | b41dbcb1a0a35ca31a2b438561b40f791349bda02eb2898954b2c39390b648a9 |
File details
Details for the file ape_cairo-0.5.0a5-py3-none-any.whl
.
File metadata
- Download URL: ape_cairo-0.5.0a5-py3-none-any.whl
- Upload date:
- Size: 9.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5ad08019668ed44b527b82e2a7ba29b38a4cb76ebff84a62e339f2fcf34d951 |
|
MD5 | fd61905a96ca85f1c649938fb735d0af |
|
BLAKE2b-256 | 514e677ab95ac0200786ee161b495605b6b44ab5ced9dca703c67c8e4e188465 |