A lightweight fork of the Stylus crates from Arbitrum Nitro.
This repository contains the core Stylus VM components extracted from Nitro, providing a minimal dependency set for Stylus development and integration.
All crates are required dependencies of stylus:
| Crate | Description |
|---|---|
arbutil |
Core utilities and types |
brotli |
Brotli compression |
caller-env |
Caller environment for host functions |
prover |
WASM parsing, config, machine execution |
stylus |
Main Stylus VM implementation |
cargo build --releasecargo test- Repository: https://github.com/OffchainLabs/nitro
- Source Path:
crates/ - Current Base: v3.9.5
git remote add upstream https://github.com/OffchainLabs/nitro.git
git fetch upstream --tags# See what changed between tags
git diff v3.9.5..v3.9.6 -- crates/# Create a branch for the merge
git checkout -b merge-upstream-v3.9.6
# Cherry-pick or manually apply relevant changesAfter merging:
- Update
FORK-CHANGES.mdwith the new base tag - Add entry to the Maintenance Log
git commit -m "Merge upstream tag 'vX.Y.Z'"bench/- Benchmarking binaryjit/- JIT compilation layerlangs/- Language binding examplesvalidator/- Validation servicewasm-testsuite/- Test suite
cargo build --release
cargo teststylus/
├── Cargo.toml
├── Cargo.lock
├── README.md
├── FORK-CHANGES.md
└── crates/
├── arbutil/
├── brotli/
├── caller-env/
├── prover/
├── stylus/
├── tools/wasmer/ # Wasmer runtime
└── wasm-libraries/
├── forward/ # Build tool for prover
└── user-host-trait/ # Host trait for stylus
BSL (Business Source License)