Investigate incorporating cquisitor-style local tx validation (phase 1 + phase 2) into cardano-cli
I maintainer di solito rispondono entro 1 giorno
@palas ci sta già lavorando.
Dal 27/4/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Context
There is currently no cardano-cli command to perform a local dry run of a signed transaction — i.e. run phase 1 and phase 2 validation against the current ledger state without actually submitting the tx to the network.
A community tool, cquisitor (built by Evgenii Lisitskii, a core contributor to cardano-serialization-lib), already does this:
- Webapp: https://cardananium.github.io/cquisitor/
- Repo: https://github.com/cardananium/cquisitor
- Stack: Rust + JavaScript
- Behaviour: paste a tx CBOR → runs phase 1 and phase 2 validation locally with enhanced failure feedback and a visual breakdown of the transaction structure.
Users repeatedly hit cryptic submission errors and resort to external tools like cquisitor to debug them. We should investigate folding equivalent functionality into cardano-cli directly.
Originating discussion: a user asked in Slack whether there is a dry-run command for tx submission to check phases 1 and 2 without submitting, and was directed to cquisitor as the answer.
Investigation tasks
- Review cquisitor's implementation to understand how it runs phase 1 and phase 2 validation locally (what ledger APIs / serialization libs it uses, how it sources protocol parameters and UTxO context).
- Identify the equivalent Haskell building blocks already available in
cardano-api/cardano-ledgerfor running phase 1 (evaluateTransactionBalance, era-specific tx validation rules) and phase 2 (evaluateTransactionExecutionUnits, Plutus script evaluation with detailed traces). - Determine what's missing in
cardano-apito expose a clean "validate signed tx end-to-end against current ledger state" entry point. - Decide whether validation should be done against a live node (via local-state-query) or fully offline with user-supplied protocol params + UTxO snapshot (or both).
- Propose a
cardano-cliUX for the feature, e.g.cardano-cli <era> transaction validate --tx-file <signed.tx>that returns structured phase-1 / phase-2 results with rich error messages. - Scope the work and open follow-up implementation issues.
Why this matters
- Better developer experience — users currently leave the cardano-cli toolchain to debug tx errors.
- Faster iteration on script-heavy transactions without burning collateral on failed submissions.
- A natural home for the rich error reporting that the ledger already produces but
cardano-cli submitswallows.
- Lingua principale
- Haskell
- Stelle
- 72
- Fork
- 24
- Merge medio
- 1g 5h
- PR unite (30g)
- 9
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di IntersectMBO/cardano-cli
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
IntersectMBO/cardano-cli#1306 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Ensure Plutus V4 scripts can be deserialised by cardano-cliForse già presa @carbolymer l’ha presa 7 giorni fa. Aperta
IntersectMBO/cardano-cli#1448 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Upstream non-Leios commits from the Leios integration branch to masterForse di nuovo libera @palas l’ha presa 49 giorni fa e non c’è nessuna pull request aperta. Apertarefactor
IntersectMBO/cardano-cli#1414 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Add `transaction validate` command (online phase 1 + phase 2)Forse di nuovo libera @palas l’ha presa 135 giorni fa e non c’è nessuna pull request aperta. Apertaenhancement epic
IntersectMBO/cardano-cli#1380 · 4 commenti · 1 reazione · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Stale
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
IntersectMBO/cardano-cli#1363 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di IntersectMBO/cardano-cli
Issue simili
-
bug good-title pdd
Difficoltà 2/5 Meno di un'ora Idoneità per principianti 82/100
objectionary/phino#1630 ·
I maintainer di solito rispondono entro 1 giorno