andrew-fleming / nile

CLI tool to develop StarkNet projects written in Cairo

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Disclaimer: this project is deprecated in favor of OpenZeppelin/nile-rs, and is no longer maintained.

OpenZeppelin | Nile ⛵

Docs Tests and linter

Navigate your StarkNet projects written in Cairo.

Overview

Nile is a CLI tool to develop or interact with StarkNet projects written in Cairo. It consists of different components for developing, compiling, testing, and deploying your smart contracts and dApps, providing a CLI for executing tasks, and a Runtime Environment (NRE) for scripting. The package is designed to be extensible and very customizable by using plugins.

Documentation

On our documentation site you can find:

And more.

Installation

Current supported Python versions are >=3.9 and <3.10.

  1. Install gmp on your machine (Cairo requirement).

    sudo apt install -y libgmp3-dev # linux
    or
    brew install gmp # mac
    

    If you have any trouble installing it on your Apple M1 computer, here’s a list of potential solutions.

  2. Create a folder for your project and cd into it:

    mkdir myproject && cd myproject
    
  3. Create a virtualenv and activate it:

    python3 -m venv env && source env/bin/activate
    
  4. Install Nile:

    pip install cairo-nile
    

Quickstart

Use nile init to quickly set up your development environment:

nile init
🗄 Creating project directory tree
⛵️ Nile project ready! Try running:

nile compile

Contribute

OpenZeppelin Nile exists thanks to its contributors. There are many ways you can participate and help build high quality software. Check out the contribution guide!

License

Nile is released under the MIT License.

About

CLI tool to develop StarkNet projects written in Cairo

License:MIT License


Languages

Language:Python 99.0%Language:Cairo 1.0%