A reproducible, hassle-free environment for Cardano SPOs. Mochi's SPO Workbench bundles all essential tools, binaries, and configurations into a single, robust Nix-based setup.
- 🌍 Cross-Platform & Reproducible: Works anywhere Nix is supported.
- 🔄 Environment Switching: Switch effortlessly between mainnet, testnet, or previewnet.
- 🏷️ Version Management: Pin specific
cardano-node
versions or other tools directly in the flake. - 🧹 Minimal Host Impact: Keeps your filesystem clean and organized.
- ⚙️ Customizable Scripts: Override defaults safely with a local
common.inc
. - 🔒 Hardware Wallet Friendly: Built-in guidance for Ledger integration.
curl -fsSL https://install.determinate.systems/nix | sh -s -- install --determinate
git clone https://github.com/mochipool/workbench.git
cd workbench
# Default: mainnet
nix develop --accept-flake-config
# Switch network (example: previewnet)
nix develop --accept-flake-config .#preview
🎉 You're ready to run!
- Preconfigured for immediate use.
- Override defaults by creating a
common.inc
in your working directory. It takes priority over.common.inc
.
On Linux, add udev rules for non-root access:
curl -L https://raw.githubusercontent.com/LedgerHQ/udev-rules/master/add_udev_rules.sh | sudo bash
Network | Default | Notes |
---|---|---|
Mainnet | ✅ | Default environment |
Preprod | .#preprod | |
Preview | .#preview |
Contributions are welcome! Please ensure your changes are reproducible with Nix and follow standard GitHub contribution practices.
- Enable full customization of SPO scripts via flake integration
- Improve documentation for advanced flake configurations
- Add CI checks for reproducibility and network switching
- Martin Lang for the SPO scripts which form a core part of this environment.
- The Nix community for making reproducible, cross-platform development environments possible.
- LedgerHQ for maintaining the official udev rules for hardware wallets.
This project is licensed under the GNU GPL v3.