[FR] - Balance existing transaction
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Tranquilla
- Stack tecnologico
- haskell
- Ambito
- blockchain, cli
Direzione di ricerca
Inizia esaminando il workflow esistente di cardano-cli transaction build e il modo in cui vengono gestiti gli envelope delle transazioni, i redeemer e le chiavi di firma. Il lavoro è completo quando una transazione redatta esternamente viene bilanciata calcolando i costi degli script e le commissioni, selezionando gli input per le commissioni, aggiungendo il resto e scrivendo il risultato su disco o su stdout usando i dati del nodo.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Internal (anyone could benefit though)
Area
Transaction building
Describe the feature you'd like
I would like to use the cardano-cli to balance a transaction that was drafted by another application. Assuming we have a transaction already built with body and witnesses (redeemers) by a DApp in a transaction envelope tx.json and some signing key wallet.sk which owns ADA to pay fees:
cardano-cli transaction balance \
--socket-path ... \ #
--testnet-magic 2 \
--unbalanced-tx tx.json \
--cardano-signing-key wallet.sk \
--out-file tx.json
Would connect to the cardano-node as usual to fetch various information (utxo owned by user, protocol parameters, system start and era history) and balance the transaction. That is:
- (Re-)calculate script costs using redeemers from the tx
- Estimate fees
- Find and add input to cover fees
- Add a change output
- Write the balanced transaction to disk (or stdout)
Alternative with slightly smaller scope: Take only an input to use for paying fees and change address, very much like transaction build.
Describe alternatives you've considered
Obvious alternative is to do all this in the DApp itself, but balancing a transaction is a generic process and not application-specific. Also, this would tie the transaction creating code very much to the "source" of where UTxO, protocol parameters etc. are fetched from. Having it in the cardano-cli, a dedicated client to the cardano-node, would keep it separated from e.g. an alternative workflow that uses blockfrost.
Additional context / screenshots
We encountered this while designing a command line tool to create certain smart contract transactions in the Hydra protocol. More details here: https://github.com/cardano-scaling/hydra/issues/1574
- Lingua principale
- Haskell
- Stelle
- 72
- Fork
- 25
- Merge medio
- 2g 1h
- PR unite (30g)
- 8
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 20 giorni fa. Apertaenhancement
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 61 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 già presa @palas l’ha presa 147 giorni fa. Apertaenhancement epic
IntersectMBO/cardano-cli#1380 · 4 commenti · 1 reazione · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Investigate incorporating cquisitor-style local tx validation (phase 1 + phase 2) into cardano-cliForse di nuovo libera @palas l’ha presa 168 giorni fa e non c’è nessuna pull request aperta. Aperta
IntersectMBO/cardano-cli#1367 · 6 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di IntersectMBO/cardano-cli
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
compiler-explorer/compiler-explorer#9272 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
alunduil/siren-json.hs#247 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
alunduil/network-arbitrary#196 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
alunduil/collection-json.hs#402 ·
I maintainer di solito rispondono entro 1 giorno
-
`--margin` still counts code points when it measures the last line of a call in `Margin.hs`Forse già presa @sherenkov l’ha presa 1 giorno fa. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
objectionary/phino#1871 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno