Hylix
Build, test & deploy verifiable apps on Hyli.
Hyli is the easiest way to build vApps. Powered by Risc0 & SP1. Designed for developers.
π Why Hylix?
Hylix is a developer toolbox and CLI (hy) to build vApps on Hyli, the new proof-powered L1 to build the next generation of apps onchain.
Who is this for?
Developers who are building vApps on the Hyli blockchain and have prior knowledge of Rust and CLI usage.
Main benefits
- β Zero-config project scaffolding
- π Built-in SP1 and Risc0 support (with Noir and more soon)
- π§ͺ End-to-end testing made simple
- π§± Easy local node setup with explorer
- π No proving infra needed
π§ͺ Trying this out
Weβre just getting started. If you're testing Hylix early:
- Share issues or ideas in this repository
- Ping the Hyli team with feedback or questions
π Getting started
Install the CLI:
Then run:
π§° CLI reference
Cheatsheet
| Command | Action |
|---|---|
hy new [PROJECT] |
Create a project using the scaffold. |
hy build |
Build contracts. |
hy test |
Run E2E tests. |
hy run |
Start backend. |
hy devnet |
Start local node. |
hy new [PROJECT]
Generate a new project:
- You will be asked to choose SP1 or Risc0 for your backend
- Clone the default vApp scaffold
- More proving schemes
- Validate & setup your local dev environment (Rust, risc0, sp1 toolchains...)
A Hylix vApp project is made of three main components:
- π contracts/: ZK program written in Rust (using SP1 or Risc0 SDK)
- π§ server/: Your vAppβs backend, runs locally with
hy run- By default includes:
- π Register contract at startup
- β Proof auto-generation
- π Contract-specific indexing
- π§© Optional custom logic & APIs
- By default includes:
- π¨ front/: Frontend interface powered by Bun and Vite (optional)
Each part is optional: you can build CLI-only vApps, headless backends, or full dApps.
Read more: Scaffold repo | Quickstart in docs.
hy build
Build the project:
Then, clean the project build artifacts:
hy devnet
| Command | Alias | Description |
|---|---|---|
up |
u |
Start the local devnet |
down |
d |
Stop the local devnet |
status |
ps |
Check the status of the local devnet |
restart |
r |
Restart the local devnet |
bake |
b |
Create and fund test accounts |
fork |
f |
Fork a running network |
env |
Print environment variables for sourcing in bash | |
help |
Print this message or the help of the given subcommand(s) |
Launch a local devnet with:
- Node
- Oranj token contract & Auto-Provers
- Wallet app & Auto-Provers
- Indexer
- Explorer
- Pre-funded test accounts
See Configuration section for customization.
# And to stop all services
Check status of devnet
# Or
Export devnet env vars:
Soon
Want to fork a running network ?
hy test
Run your vAppβs end-to-end tests in a fully orchestrated local Hyli environment.
Read more on executing unit & E2E tests.
Key Features
- β Contract unit tests
- π§ͺ Full E2E workflows (from proving to verification)
- βοΈ Full integration with
cargo testor custom test runners
What hy test does (under the hood)
- Starts
hy devnetif not already running - Compiles your project (
hy build) - Runs your application backend
hy run - Runs tests defined in
tests/usingcargo test - Shuts down the devnet & backend after completion (unless
--keep-aliveis set)
Example
Want to keep the devnet alive after tests?
hy run
Start your backend service locally or on testnet.
The app backend registers your contract, runs a local auto-prover, and launches core modules like the contract indexer. You can customize the backend in the server/ folder.
By default, hy run operates in local dev mode.
Options
--testnet: Register and interact with contracts on the public Hyli testnet.--watch: Automatically rebuild and re-register on file changes (coming soon)
What hy run does (under the hood)
- β Registers your vApp contract on-chain
- π Starts a local auto-prover (generates and posts proofs when needed)
- π Launches a contract indexer to track state transitions
- π οΈ Wires everything together for a ready-to-use dev backend
Configuration
Hylix stores its configuration in ~/.config/hylix/config.toml (Linux). You can customize various aspects of the CLI behavior:
Custom Docker Images
You can specify custom Docker images for different services in your devnet configuration:
[]
# Custom Docker images for each service
= "ghcr.io/hyli-org/hyli:0.14.0-rc1"
= "ghcr.io/hyli-org/wallet/wallet-server:main"
= "ghcr.io/hyli-org/wallet/wallet-ui:main"
# Or use completely custom images:
# custom_node_image = "my-registry.com/my-hyli-node:v1.0.0"
# custom_wallet_server_image = "my-registry.com/my-wallet-server:latest"
# custom_wallet_ui_image = "my-registry.com/my-wallet-ui:dev"
This allows you to:
- Use specific versions of services
- Test with custom-built images
- Use images from private registries
- Override default images for development/testing
π§ Hylix components
Hylix builds on top of:
- SP1/Risc0 zkVM for fast, verifiable compute
- Rust for native speed and tooling compatibility
- Bun, vite, vue3 & tailwind for frontend application
π€οΈ Roadmap
- Noir + Cairo support
- Tool auto-upgrade
- Plugins for custom commands
- Test proc-macro for isolated E2E testing
- Upload to a prover network (
hy upload): upload your compiled ELF to a prover network without setting up lovcal proving infrastructure - Testnet mode (
hy run --testnet) to start a backend and deploy the contract on a prover network