{"id":19147857,"url":"https://github.com/refcell/cairostarter","last_synced_at":"2025-05-07T03:04:15.381Z","repository":{"id":50729451,"uuid":"442802732","full_name":"refcell/cairostarter","owner":"refcell","description":"Forkable, Minimal Template for Starknet Projects. ","archived":false,"fork":false,"pushed_at":"2022-01-03T20:02:35.000Z","size":150,"stargazers_count":44,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-07T03:02:30.914Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/refcell.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-12-29T14:47:25.000Z","updated_at":"2022-10-09T02:04:41.000Z","dependencies_parsed_at":"2022-09-04T00:22:01.657Z","dependency_job_id":null,"html_url":"https://github.com/refcell/cairostarter","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/refcell%2Fcairostarter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/refcell%2Fcairostarter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/refcell%2Fcairostarter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/refcell%2Fcairostarter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/refcell","download_url":"https://codeload.github.com/refcell/cairostarter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252804206,"owners_count":21806769,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T07:52:32.312Z","updated_at":"2025-05-07T03:04:15.323Z","avatar_url":"https://github.com/refcell.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cairostarter • [![Tests](https://github.com/a5f9t4/cairostarter/actions/workflows/tests.yml/badge.svg)](https://github.com/a5f9t4/cairostarter/actions/workflows/tests.yml) [![Lints](https://github.com/a5f9t4/cairostarter/actions/workflows/lints.yml/badge.svg)](https://github.com/a5f9t4/cairostarter/actions/workflows/lints.yml) ![GitHub](https://img.shields.io/github/license/a5f9t4/cairostarter) ![GitHub package.json version](https://img.shields.io/github/package-json/v/a5f9t4/cairostarter)\n\n\n**Forkable**, **Minimal** Template for Starknet Projects.\n\n## Directory Structure\n\n```ml\ncontracts\n├─ Greeter — \"An example greeter contract\"\n├─ interfaces\n│  ├─ IAccount — \"Account Interface\"\n│  ├─ IAggregatorV3 — \"Chainlink V3 Aggregator Interface\"\n│  ├─ IERC20 — \"ERC20 Contract Interface\"\n│  ├─ IERC165 — \"ERC165 Contract Interface\"\n│  ├─ IERC721 — \"ERC721 Contract Interface\"\n│  └─ IERC1155 — \"ERC1155 Contract Interface\"\n├─ utils\n│  ├─ Account — \"Stripped account\"\n│  ├─ Ownable — \"Minimal, ownable contract instance\"\n│  ├─ Context — \"Port of OZ's Solidity Context Abstraction\"\n│  └─ Pausible — \"Pausible Solidity Functionality\"\ntests\n└─ test_Greeter — \"Test Script for the Greeter Contract\"\n```\n\n## Installation\n\n### TL;DR\n\n```bash\nsudo apt install -y libgmp3-dev # linux\n# OR\nbrew install gmp # mac\n\nyarn setup # Sets up a python environment and nile installation\n\nyarn compile # Compile the contracts\n\nyarn test # Syntactic sugar for running `pytest` (python tests)\n```\n\n### First time?\n\nFurther installation instructions provided in the [cairo-lang docs](https://www.cairo-lang.org/docs/quickstart.html)\n\nBefore installing Cairo on your machine, you need to install `gmp`:\n```bash\nsudo apt install -y libgmp3-dev # linux\nbrew install gmp # mac\n```\n\u003e If you have any troubles installing gmp on your Apple M1 computer, [here’s a list of potential solutions](https://github.com/OpenZeppelin/nile/issues/22).\n\nFor VSCode support:\n\nDownload `cairo-0.6.2.vsix` from https://github.com/starkware-libs/cairo-lang/releases/tag/v0.6.2\n\nAnd run:\n```bash\ncode --install-extension cairo-0.6.2.vsix\n```\n\n### Set up the project\n\nClone the repository\n\n```bash\ngit clone git@github.com:a5f9t4/cairostarter.git\n```\n\n`cd` into it and create a Python virtual environment:\n\n```bash\ncd cairostarter\npython3 -m venv env\nsource env/bin/activate\n```\n\n### Nile\n\nInstall the [Nile](https://github.com/OpenZeppelin/nile) dev environment and then run `install` to get [the Cairo language](https://www.cairo-lang.org/docs/quickstart.html), a [local network](https://github.com/Shard-Labs/starknet-devnet/), and a [testing framework](https://docs.pytest.org/en/6.2.x/).\n```bash\npip3 install cairo-nile\nnile install\n```\n\n## Usage\n\n### Compile the contracts\n\n```bash\nnile compile\n```\n\n### Run tests\n\n```bash\npytest\n```\n\n\n## Acknowledgements\n\n- [cairomate](https://github.com/a5f9t4/cairomate)\n- [StarkWare](https://starkware.co/)\n- [OpenZeppelin](https://github.com/OpenZeppelin/cairo-contracts)\n- [DappTools Template](https://github.com/gakonst/dapptools-template)\n\n## Security\n\nThis project is still in a very early and experimental phase. It has never been audited nor thoroughly reviewed for security vulnerabilities. Do not use in production.\n\nPlease report any security issues you find by opening up an issue in this reposisitory.\n\n## License\n\nCairostarter Contracts are released under the [AGPL-3.0-only](LICENSE).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frefcell%2Fcairostarter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frefcell%2Fcairostarter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frefcell%2Fcairostarter/lists"}