Crates.io | solar-compiler |
lib.rs | solar-compiler |
version | |
source | src |
created_at | 2024-10-22 16:37:32.30567 |
updated_at | 2024-11-08 18:03:45.814718 |
description | Blazingly fast Solidity compiler |
homepage | https://github.com/paradigmxyz/solar/ |
repository | https://github.com/paradigmxyz/solar |
max_upload_size | |
id | 1418911 |
Cargo.toml error: | TOML parse error at line 19, column 1 | 19 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include` |
size | 0 |
Blazingly fast, modular and contributor friendly Solidity compiler, written in Rust.
[!CAUTION] Solar is under active development and is not yet feature complete. Use it to speed up your development workflows and tooling. Please do not use it in production environments.
Solar is available through a command-line interface, or as a Rust library.
You can add Solar to your Rust project by adding the following to your Cargo.toml
:
[dependencies]
solar = { version = "0.1.0", package = "solar-compiler" }
Or through the CLI:
cargo add solar-compiler --rename solar
You can see examples of how to use Solar as a library in the examples directory.
Pre-built binaries are available for macOS, Linux and Windows on the releases page and can be installed with the following commands:
curl -LsSf https://paradigm.xyz/solar/install.sh | sh
powershell -c "irm https://paradigm.xyz/solar/install.ps1 | iex"
curl -LsSf https://paradigm.xyz/solar/v0.1.0/install.sh | sh
powershell -c "irm https://paradigm.xyz/solar/v0.1.0/install.ps1 | iex"
You can also build Solar from source:
cargo install solar-compiler --locked
cargo install --git https://github.com/paradigmxyz/solar --locked
git clone https://github.com/paradigmxyz/solar
cd solar
cargo install --locked --path crates/solar
Once installed, check out the available options:
solar -h
Here's a few examples:
# Compile a single file and emit ABI to stdout.
solar Counter.sol --emit abi
# Compile a contract through standard input (`-` file).
echo "contract C {}" | solar -
solar - <<EOF
contract HelloWorld {
function helloWorld() external pure returns (string memory) {
return "Hello, World!";
}
}
EOF
# Compile a file with a Foundry project's remappings.
solar $(forge re) src/Contract.sol
You can find a more detailed list in the pinned GitHub issue.
Solar's versioning tracks compatibility for the binaries, not the API.
If using this as a library, be sure to pin the version with a =
version requirement operator.
Solar always aims to stay up-to-date with the latest stable Rust release.
The Minimum Supported Rust Version (MSRV) may be updated at any time, so we can take advantage of new features and improvements in Rust.
Contributions are welcome and highly appreciated. To get started, check out the contributing guidelines.
Having trouble? Check out the existing issues on GitHub, or feel free to open a new one.
You can also ask for help on Telegram.