Advanced Smart Contract IDE for Stylus
A streamlined and intuitive integrated development environment tailored for developing, compiling, and deploying Stylus smart contracts directly from the browser.
Stylide is an open-source Integrated Development Environment (IDE) designed specifically for Stylus smart contracts. It aims to provide developers with a powerful and user-friendly platform for writing, compiling, and deploying contracts within the Stylus blockchain ecosystem. Stylide supports seamless integration with Stylus networks, facilitating efficient contract management and testing. This repository serves as the home for Stylide, supporting developers in their journey of smart contract development and deployment on Stylus.
To start using Stylide, visit our Documentation
To run Stylide locally, follow these steps:
First, clone the Stylide repository to your local machine using Git:
git clone https://github.com/solide-project/stylideNavigate into the cloned repository directory and install the required npm packages:
cd stylide
bun installNext, install rust and stylus cli and all the backend dependency for interacting with Stylus
# Requires Rust Nightly
rustup update
rustup update nightly
rustup component add rust-src --toolchain nightly-x86_64-unknown-linux-gnu
# Install Stylus (Note we can either use 1. or 2. Currently using 1.)
rustup target add wasm32-unknown-unknown
# 1. Build and install from source
git clone https://github.com/solide-project/cargo-stylus.git
cargo install --path main/
# 2. Ensure to target wasm32-unknown-unknown to nightly
cargo install --force cargo-stylus cargo-stylus-check
# Solidity Compiler Solc
sudo add-apt-repository ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install solcrustup update 1.81.0-x86_64-unknown-linux-gnu
cargo install --force cargo-stylus cargo-stylus-check
rustup default 1.81.0-x86_64-unknown-linux-gnu
rustup target add wasm32-unknown-unknown --toolchain 1.81.0-x86_64-unknown-linux-gnuIf you can't default 1.81 (because of override). Found settings.toml in typically ~/.rustup and add path with the default project path because Note Koba relies on 1.81
rustup target add wasm32-unknown-unknown --toolchain 1.83.0
git clone https://github.com/solide-project/pharos-cargo-stylus.git
cd pharos-cargo-stylus
# Build cli stored in /target
cargo build -r
# Add /target so cli is cargo pharos-stylus
rm -rf ~/.cargo/bin/cargo-pharos-stylus && ln -s "$(pwd)/target/release/cargo-stylus" ~/.cargo/bin/cargo-pharos-stylus
# Should be able to call
cargo pharos-stylus --helpCreate a .env.local file in the root directory of the project and use the following template to fill in the required variables:
PROJECT_PATH=
GITHUB_API_KEY=
After configuring the environment variables, start the Stylide IDE:
bun run startThis command will launch the Stylide IDE in your default web browser.
We welcome contributions from the community to enhance Stylide further. If you have suggestions, bug reports, or want to contribute code, please follow our Contribution Guidelines.
Join the Stylide community for discussions, support, and collaboration. Visit our Discord channel (Coming Soon) to connect with fellow developers and enthusiasts.
Stylide is released under the MIT License. Feel free to use, modify, and distribute Stylide for your projects.
Note: Stylide is a community-driven project aimed at fostering openness, collaboration, and innovation in the blockchain development domain. Your feedback and contributions are highly valued. Let's build the future of smart contract development together!
Support us by starring this Repository and following us on X! 😊