Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Optimize your Soroban smart contracts. Visualize CPU, RAM, and Ledger footprint to reduce transaction fees and improve performance.

Notifications You must be signed in to change notification settings

cnaples79/soroscope

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔬 SoroScope: Soroban Resource Profiler

License: MIT Stellar Wave

SoroScope is a developer tool designed to provide deep visibility into Soroban smart contract resource consumption (CPU, RAM, and Ledger Footprint).

🚀 The Vision

Building on Soroban requires careful resource management. SoroScope provides a "Nutrition Label" for your smart contracts, helping you optimize for lower fees and higher performance before you deploy to Mainnet.

🧱 Monorepo Structure

  • /core: Rust-based CLI for simulating and profiling contracts.
  • /web: Next.js + Tailwind CSS dashboard for visualizing resource heatmaps.
  • /contracts: Sample Soroban contracts used for benchmarking.
  • /.github/workflows: CI/CD pipelines.

⚙️ Getting Started

Prerequisites

  • Rust (stable, via rustup)
  • Node.js (>= 18) and npm / pnpm / yarn
  • Soroban CLI & tooling (recommended) for real-network interaction

Clone the Repository

git clone https://github.com/SoroLabs/soroscope
cd soroscope

🧰 Core CLI (/core)

The core crate is a Rust binary that will power SoroScope's resource profiling.

Build & Run

# Build the binary
cargo build -p soroscope-core

# Run the server (RUST_LOG=info is required to see API logs)
RUST_LOG=info cargo run -p soroscope-core

The server listens on http://localhost:8080 by default.


🌐 Web Dashboard (/web)

The web app is a Next.js + Tailwind CSS dashboard for exploring resource usage visually.

Install Dependencies

cd web
npm install        # or: pnpm install / yarn install

Run in Development

npm run dev

Then open:

Build for Production

npm run build
npm start

📦 Contracts (/contracts)

This folder contains sample Soroban contracts. To build them for analysis:

# Build all contracts to WASM
cargo build --target wasm32-unknown-unknown --release

The resulting .wasm files will be located in target/wasm32-unknown-unknown/release/. You can upload these to the Web Dashboard for profiling.


📅 Roadmap (2026)

  • Phase 1 [COMPLETED]: Core CLI engine for resource extraction.
  • Phase 2 [IN PROGRESS]: Integration of Frontend dashboard with Backend simulation engine.
  • Phase 3: Automated optimization recommendations.

🧪 Development & Scripts

From the repo root:

  • Check workspace builds:

    cargo build
  • Format Rust code:

    cargo fmt
  • Lint / type-check web app:

    cd web
    npm run lint

(Add CI in ./.github/workflows to automate these.)


🤝 Contributing

Contributions are welcome! Please read our Contributing Guide to learn about our development process, coding standards, and how to submit a pull request.


🧪 Live Analysis

SoroScope now supports live simulation via the web dashboard. Connect your wallet, select a function, and get your Contract Nutrition Label instantly.


Built with ❤️ by SoroLabs. Powered by the Soroban ecosystem.

About

Optimize your Soroban smart contracts. Visualize CPU, RAM, and Ledger footprint to reduce transaction fees and improve performance.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 58.2%
  • TypeScript 34.9%
  • Shell 6.4%
  • Other 0.5%