Hylix
Build, test & deploy verifiable apps on Hyli.
Hyli is a high-performance blockchain with built-in privacy. It enables builders and institutions to design private, compliant, and high-performance systems.
π Why Hylix?
Hylix is a developer toolbox and CLI (hy) to build verifiable apps on Hyli, a high-performance blockchain with built-in privacy.
Who is this for?
Developers who are building apps 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 | Shortcut | Action |
|---|---|---|
hy new [PROJECT] |
n | Create a project using the scaffold, choosing SP1 or Risc0 for your backend. |
hy build |
b | Build frontend. |
hy test |
t | Run unit or end-to-end tests. |
hy run |
r | Start backend service. |
hy devnet |
d | Start and manage local node. |
hy contract |
c | Manage contracts. |
hy clean |
Delete build artifacts. (This is done automatically on build.) |
|
hy config |
Manage project configuration. |
hy new [PROJECT]
Generate a new project:
- You will be asked to choose SP1 or Risc0 for your backend
- Clone the default vApp scaffold
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.
- More proving schemes
- Validate & setup your local dev environment (Rust, risc0, sp1 toolchains...)
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 |
e |
Print environment variables for sourcing in bash |
logs |
l |
Follow logs of a devnet service |
help |
Print this message or the help of the given subcommand(s) |
hy devnet up launches 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:latest"
= "ghcr.io/hyli-org/wallet/wallet-server:main"
= "ghcr.io/hyli-org/wallet/wallet-ui:main"
# Or use completely custom images:
# node_image = "my-registry.com/my-hyli-node:v1.0.0"
# wallet_server_image = "my-registry.com/my-wallet-server:latest"
# 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 local proving infrastructure - Testnet mode (
hy run --testnet) to start a backend and deploy the contract on a prover network