{"id":19145385,"url":"https://github.com/paradigmxyz/solar","last_synced_at":"2025-05-14T16:02:35.912Z","repository":{"id":261840546,"uuid":"631030757","full_name":"paradigmxyz/solar","owner":"paradigmxyz","description":"Blazingly fast, modular and contributor friendly Solidity compiler, written in Rust","archived":false,"fork":false,"pushed_at":"2025-04-02T14:51:30.000Z","size":2758,"stargazers_count":380,"open_issues_count":28,"forks_count":40,"subscribers_count":13,"default_branch":"main","last_synced_at":"2025-04-03T03:01:41.331Z","etag":null,"topics":["compiler","ethereum","evm","programming-language","solc","solidity","yul"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/paradigmxyz.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-21T18:39:28.000Z","updated_at":"2025-04-02T14:51:38.000Z","dependencies_parsed_at":"2024-11-08T18:46:31.215Z","dependency_job_id":"f730b35a-acc1-457f-98ed-c65f5d9a4406","html_url":"https://github.com/paradigmxyz/solar","commit_stats":null,"previous_names":["paradigmxyz/solar"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paradigmxyz%2Fsolar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paradigmxyz%2Fsolar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paradigmxyz%2Fsolar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paradigmxyz%2Fsolar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/paradigmxyz","download_url":"https://codeload.github.com/paradigmxyz/solar/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247688145,"owners_count":20979612,"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":["compiler","ethereum","evm","programming-language","solc","solidity","yul"],"created_at":"2024-11-09T07:39:52.486Z","updated_at":"2025-05-14T16:02:35.885Z","avatar_url":"https://github.com/paradigmxyz.png","language":"Rust","funding_links":[],"categories":["dApp Development","Solidity"],"sub_categories":["Other","Other dialects and variants"],"readme":"# solar\n\n[![Crates.io](https://img.shields.io/crates/v/solar-compiler.svg)](https://crates.io/crates/solar-compiler)\n[![Downloads](https://img.shields.io/crates/d/solar-compiler)](https://crates.io/crates/solar-compiler)\n[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](/LICENSE-MIT)\n[![Apache-2.0 License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](/LICENSE-APACHE)\n[![Actions Status](https://github.com/paradigmxyz/solar/workflows/CI/badge.svg)](https://github.com/paradigmxyz/solar/actions)\n[![Telegram Chat](https://img.shields.io/endpoint?color=neon\u0026logo=telegram\u0026label=chat\u0026url=https%3A%2F%2Ftg.sumanjay.workers.dev%2Fparadigm%5Fsolar)][tg-url]\n\nBlazingly fast, modular and contributor friendly Solidity compiler, written in Rust.\n\n\u003cp align=\"center\"\u003e\n    \u003cpicture align=\"center\"\u003e\n        \u003cimg alt=\"Solar cover\" src=\"/assets/cover.png\"\u003e\n    \u003c/picture\u003e\n\u003c/p\u003e\n\n## Features and Goals\n\n\u003e [!CAUTION]\n\u003e Solar is under active development and is not yet feature complete.\n\u003e Use it to speed up your development workflows and tooling.\n\u003e Please do not use it in production environments.\n\n- ⚡ Instant compiles and low memory usage\n- 🔍 Expressive and useful diagnostics\n- 🧩 Modular, library-based architecture\n- 💻 Simple and hackable code base\n- 🔄 Compatibility with the latest Solidity language breaking version (0.8.*)\n\n\u003cp align=\"center\"\u003e\n    \u003cpicture align=\"center\"\u003e\n        \u003cimg alt=\"Terminal screenshot showing Solar is 40x faster than solc at generating ABI using hyperfine\" src=\"/assets/benchmark.png\"\u003e\n    \u003c/picture\u003e\n\u003c/p\u003e\n\n## Getting started\n\nSolar is available through a command-line interface, or as a Rust library.\n\n### Library usage\n\nYou can add Solar to your Rust project by adding the following to your `Cargo.toml`:\n\n```toml\n[dependencies]\nsolar = { version = \"=0.1.3\", package = \"solar-compiler\" }\n```\n\nOr through the CLI:\n\n```bash\ncargo add \"solar-compiler@=0.1.3\" --rename solar\n```\n\nYou can see examples of how to use Solar as a library in the [examples](/examples) directory.\n\n### Binary usage\n\nPre-built binaries are available for macOS, Linux and Windows on the [releases page](https://github.com/paradigmxyz/solar/releases)\nand can be installed with the following commands:\n- On macOS and Linux:\n    ```bash\n    curl -LsSf https://paradigm.xyz/solar/install.sh | sh\n    ```\n- On Windows:\n    ```powershell\n    powershell -c \"irm https://paradigm.xyz/solar/install.ps1 | iex\"\n    ```\n- For a specific version:\n    ```bash\n    curl -LsSf https://paradigm.xyz/solar/v0.1.0/install.sh | sh\n    powershell -c \"irm https://paradigm.xyz/solar/v0.1.0/install.ps1 | iex\"\n    ```\n\nYou can also build Solar from source:\n- From crates.io:\n    ```bash\n    cargo install solar-compiler --locked\n    ```\n- From GitHub:\n    ```bash\n    cargo install --git https://github.com/paradigmxyz/solar --locked\n    ```\n- From a Git checkout:\n    ```bash\n    git clone https://github.com/paradigmxyz/solar\n    cd solar\n    cargo install --locked --path crates/solar\n    ```\n\nOnce installed, check out the available options:\n\n```bash\nsolar -h\n```\n\nHere's a few examples:\n\n```bash\n# Compile a single file and emit ABI to stdout.\nsolar Counter.sol --emit abi\n\n# Compile a contract through standard input (`-` file).\necho \"contract C {}\" | solar -\nsolar - \u003c\u003cEOF\ncontract HelloWorld {\n    function helloWorld() external pure returns (string memory) {\n        return \"Hello, World!\";\n    }\n}\nEOF\n\n# Compile a file with a Foundry project's remappings.\nsolar $(forge re) src/Contract.sol\n```\n\n## Roadmap\n\nYou can find a more detailed list in the [pinned GitHub issue](https://github.com/paradigmxyz/solar/issues/1).\n\n- [ ] Front-end\n  - [x] Lexing\n  - [x] Parsing\n  - [ ] Semantic analysis\n    - [x] Symbol resolution \n    - [ ] Type checker\n    - [ ] Static analysis\n- [ ] Middle-end\n- [ ] Back-end\n\n## Semver Compatibility\n\nSolar's versioning tracks compatibility for the binaries, not the API.\nIf using this as a library, be sure to pin the version with a `=` version requirement operator.\n\n## Supported Rust Versions (MSRV)\n\nSolar always aims to stay up-to-date with the latest stable Rust release.\n\nThe Minimum Supported Rust Version (MSRV) may be updated at any time, so we can take advantage of new features and improvements in Rust.\n\n## Contributing\n\nContributions are welcome and highly appreciated. To get started, check out the\n[**contributing guidelines**](/CONTRIBUTING.md).\n\n## Support\n\nHaving trouble? Check out the existing issues on [**GitHub**](https://github.com/paradigmxyz/solar/issues),\nor feel free to [**open a new one**](https://github.com/paradigmxyz/solar/issues/new).\n\nYou can also ask for help on [Telegram][tg-url].\n\n[tg-url]: https://t.me/paradigm_solar\n\n#### License\n\n\u003csup\u003e\nLicensed under either of \u003ca href=\"LICENSE-APACHE\"\u003eApache License, Version\n2.0\u003c/a\u003e or \u003ca href=\"LICENSE-MIT\"\u003eMIT license\u003c/a\u003e at your option.\n\u003c/sup\u003e\n\n\u003cbr\u003e\n\n\u003csub\u003e\nUnless you explicitly state otherwise, any contribution intentionally submitted\nfor inclusion in these crates by you, as defined in the Apache-2.0 license,\nshall be dual licensed as above, without any additional terms or conditions.\n\u003c/sub\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparadigmxyz%2Fsolar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fparadigmxyz%2Fsolar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparadigmxyz%2Fsolar/lists"}