GithubHelp home page GithubHelp logo

machard / protostar Goto Github PK

View Code? Open in Web Editor NEW

This project forked from software-mansion/protostar

0.0 0.0 0.0 1.5 MB

Protostar is a toolchain for developing and testing with Cairo contracts for StarkNet

Home Page: https://docs.swmansion.com/protostar/

License: MIT License

Shell 0.44% JavaScript 0.58% Python 86.00% TypeScript 0.84% CSS 0.35% Cairo 11.79%

protostar's Introduction

protostar-logo protostar-logo

StarkNet smart contract development toolchain


Table of contents

About

Protostar manages your dependencies, compiles your project, and runs tests.

Documentation

https://docs.swmansion.com/protostar/

Installation

To install the tool, run:

curl -L https://raw.githubusercontent.com/software-mansion/protostar/master/install.sh | bash

If you want to specify a version, run the following command with the requested version:

curl -L https://raw.githubusercontent.com/software-mansion/protostar/master/install.sh | bash -s -- -v 0.3.2

Development

Requirements

Setting up environment

  1. Install Python version management tool: pyenv or asdf
  2. Install Python 3.7.12 using the Python version management tool and activate that version
    • To be able to build Protostar, set the following environmental variable before installing Python: PYTHON_CONFIGURE_OPTS="--enable-shared"
  3. Clone this repository
  4. Verify the active Python version: python -V
  5. Create Python virtual environment in the project directory: python -m venv .venv
  6. Activate environment: source .venv/bin/activate
    • Consider using direnv to activate the environment on navigating to the project directory
  7. Upgrade pip: pip install --upgrade pip
  8. Install Poetry โ€” a dependency manager
  9. Install project dependencies: poetry install
    • MacBook M1/M2: CFLAGS=-I/opt/homebrew/opt/gmp/include LDFLAGS=-L/opt/homebrew/opt/gmp/lib poetry install
  10. Verify the setup by running tests: poe test

Git hooks

Run the following snippet to enable lint checks and automatic formatting before commit/push.

cp pre-push ./.git/hooks/
cp pre-commit ./.git/hooks/
chmod +x ./.git/hooks/pre-commit
chmod +x ./.git/hooks/pre-push

Updating website/docs

Please read website/README.md.

Deployment

$ poe deploy
Current Protostar version: 0.1.0
Provide the new Protostar version:

protostar's People

Contributors

arcticae avatar bernardstanislas avatar edgarbarrantes avatar kasperski95 avatar maksymiliandemitraszek avatar mkaput avatar ponderingdemocritus avatar radinyn avatar sambarnes avatar thenry14 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.