Skip to content
This repository has been archived by the owner on Dec 1, 2023. It is now read-only.
/ nile Public archive

CLI tool to develop StarkNet projects written in Cairo

License

Notifications You must be signed in to change notification settings

OpenZeppelin/nile

Repository files navigation

Disclaimer: this project is deprecated and no longer maintained. Check out scarb instead.

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.