flux-point-studios/cardano-agent-skills

cardano-devnet-in-a-box

One-command local rehearsal stack: cardano-node + hydra + ogmios + kupo. Docker-based, deterministic green/red testing.

First seen Feb 6, 2026

Installation

$ npx skills add flux-point-studios/cardano-agent-skills --skill cardano-devnet-in-a-box

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from flux-point-studios/cardano-agent-skills · top by installs.

npx skills add flux-point-studios/cardano-agent-skills

Browse all from flux-point-studios/cardano-agent-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 8
License LICENSE
Default branch main
Open issues 1
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents clawdbot

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 5,445 B
  • docs SUMMARY.md 150 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 18 installs

SKILL.md

Cardano Devnet-in-a-Box (cardano-node + hydra + ogmios + kupo)

What this skill is for

You are setting up a local, end-to-end rehearsal environment so we can:

  • build/sign/submit real transactions (cardano-cli)
  • run dApp infra (Ogmios + Kupo)
  • open/close a Hydra Head and push L2 txs

…all locally before anyone even thinks about mainnet.

This skill uses Hydra’s official demo devnet as the base (because it’s the most “known-good” path), then bolts on Ogmios + Kupo as extra services.

Hydra’s docs describe this demo setup: a single fast local devnet + 3 Hydra nodes (Alice/Bob/Carol) + hydra-tui.

Kupo’s Docker image docs show the minimal container flags we reuse (--node-socket, --node-config, --host, --workdir).

Hydra publishes official Docker images at ghcr.io/cardano-scaling/hydra-node.


Assumptions

  • Docker is installed and running.
  • git is available.
  • Ports available on host:

- 1337 (ogmios) - 1442 (kupo) - 4001-4003 (hydra API) - 3000 (grafana, optional)


The canonical setup

If the repo already has devnet-in-a-box/

Run:

cd devnet-in-a-box
chmod +x run.sh
./run.sh up

This will:

  1. Clone cardano-scaling/hydra into devnet-in-a-box/.vendor/hydra
  2. Copy our docker-compose.override.yml into hydra/demo/
  3. Run the upstream demo scripts:

- ./prepare-devnet.sh (creates the devnet/ folder + fresh genesis start time) - ./seed-devnet.sh (publishes Hydra scripts + funds parties)

  1. Start:

- cardano-node - hydra-node-1..3 - ogmios - kupo

If the repo does NOT have devnet-in-a-box/

Create it by copying these exact files from the skill repo:

  • devnet-in-a-box/run.sh
  • devnet-in-a-box/docker-compose.override.yml
  • devnet-in-a-box/README.md

(They’re designed to be dropped into any project.)


Endpoints

  • Ogmios (WebSocket): ws://localhost:1337
  • Kupo (HTTP): http://localhost:1442
  • Hydra API:

- Alice: http://localhost:4001 - Bob: http://localhost:4002 - Carol: http://localhost:4003


How to use it (agent playbook)

1) Bring the stack up

./devnet-in-a-box/run.sh up

2) Open a head (fastest path = TUI)

In 3 terminals:

./devnet-in-a-box/run.sh tui 1
./devnet-in-a-box/run.sh tui 2
./devnet-in-a-box/run.sh tui 3

Then inside the TUI:

  • [i] init
  • [c] commit
  • once all parties commit, the head opens automatically

Hydra’s docs walk through this flow.

3) Validate the L1 + infra are alive

From the demo directory (the script handles paths for you), you can query the chain tip:

./devnet-in-a-box/run.sh logs cardano-node

Or directly:

cd devnet-in-a-box/.vendor/hydra/demo
docker compose exec -T cardano-node cardano-cli query tip --testnet-magic 42 --socket-path /devnet/node.socket

4) Use Ogmios + Kupo for app-level rehearsal

Typical dApp stack:

  • Kupo for UTxO lookup / index queries
  • Ogmios for chain sync + tx submission

This is the pair most “realistic” apps use for local integration tests.


Deterministic rehearsal (green / red)

For a no-vibes end-to-end check, run:

cd devnet-in-a-box
./run.sh rehearsal

It will:

  • run a smoke test (cardano-node + hydra APIs + optional kupo health)
  • create a tiny always-true Plutus script UTxO on L1 (inline datum = 42, 10 ADA)
  • initialize a Hydra Head
  • commit: Alice (script UTxO + collateral) + Bob + Carol
  • submit one L2 transaction that spends the script UTxO inside the head
  • close → wait contestation → fanout

If everything works you get GREEN. Otherwise you get RED and the failing step.

Lightweight health check:

./run.sh smoke

Troubleshooting (quick hits)

TraceNoLedgerView in cardano-node logs

That’s almost always a genesis start time drift.

Fix: rerun prepare + restart the node.

cd devnet-in-a-box/.vendor/hydra/demo
./prepare-devnet.sh
docker compose up -d --force-recreate cardano-node

Hydra docs explicitly warn about waiting too long after prepare-devnet.sh.

Ogmios/Kupo can’t open the node socket

Usually permissions on devnet/node.socket.

The run.sh tries to chmod a+w the socket from inside the container.

If it still fails:

cd devnet-in-a-box/.vendor/hydra/demo
docker compose exec -u root cardano-node chmod a+w /devnet/node.socket

Kupo is “running” but returns nothing

Make sure we’re indexing something.

We default to --match "*" for devnet so it indexes everything.

If you change it, you can accidentally index zero addresses.


Hard rule

This devnet harness is for rehearsals:

  • never treat the demo keys as production keys
  • never assume devnet settings ≈ mainnet settings
  • always re-check protocol params, cost models, and script budgets when moving to preprod/mainnet