Skip to content

mochipool/workbench

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mochi's SPO Workbench ✨

License GitHub last commit GitHub issues GitHub stars

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.


🌟 Features

  • 🌍 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.

⚡ Quick Start

1. Install Nix

curl -fsSL https://install.determinate.systems/nix | sh -s -- install --determinate

2. Clone the Repository

git clone https://github.com/mochipool/workbench.git
cd workbench

3. Enter a Development Shell

# Default: mainnet
nix develop --accept-flake-config

# Switch network (example: previewnet)
nix develop --accept-flake-config .#preview

🎉 You're ready to run!

NOTE (Determinate Systems Nix):

When using Determinate Systems Nix, some extra configuration is needed to use the iog cache. It is highly recommended to do so to avoid building everything from source.

Run the following script to configure the cache correctly. It requires sudo:

./scripts/determinate-nix-config.sh

🛠️ Customization

SPO Scripts

  • Preconfigured for immediate use.
  • Override defaults by creating a common.inc in your working directory. It takes priority over .common.inc.

Ledger Hardware Wallet Support

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

🌐 Supported Networks

Network Default Notes
Mainnet Default environment
Preprod .#preprod
Preview .#preview

🤝 Contributing

Contributions are welcome! Please ensure your changes are reproducible with Nix and follow standard GitHub contribution practices.


📌 Roadmap / TODO

  • Enable full customization of SPO scripts via flake integration
  • Improve documentation for advanced flake configurations
  • Add CI checks for reproducibility and network switching

🙏 Acknowledgements

  • 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.

📜 License

This project is licensed under the GNU GPL v3.

About

A reproducible, hassle-free workspace for Cardano SPOs

Topics

Resources

License

Stars

Watchers

Forks

Contributors