<p>You can almost certainly do this using the <code>cardano-api</code> in the same <code>cardano-node</code> repository. The code in <code>cardano-cli</code> can act as a guide.</p>

CC BY-SA 4.0
2022-07-31T15:15:01.133Z
Thanks, will look into it. It does seem like it requires a running node?
Attilah
CC BY-SA 4.0
2022-07-31T20:44:56.483Z
Creating the transaction does not require a running `node`, but submitting the transactions to the network will require a `node`.
Erik de Castro Lopo
CC BY-SA 4.0
2022-07-31T20:57:22.903Z
`cardano-transactions` seems like what I would have loved to have, but it's not being actively developed anymore:

`let eitherTx = Tx.empty testnetMagic
      & Tx.addInput input0
      & Tx.addOutput output0
      & Tx.addOutput output1
      & Tx.lock
      & Tx.signWith key0
      & Tx.serialize`
Attilah
CC BY-SA 4.0
2022-07-31T20:58:44.947Z
Thanks @Erik, I'll look into it. I was just kinda hopping for a more convenient interface to use (like lucid-cardano in the npm/js world).
Attilah
CC BY-SA 4.0
2022-07-31T07:49:35.557Z
2022-07-31T07:49:35.557Z
Erik de Castro Lopo
<p>Is there a way besides cardano-cli that I can use to construct a transaction using Haskell?</p>
<p>Something like Lucid-cardano npm package, but in Haskell land?</p>
<p>Said library should allow me to construct a tx, its datums, redeemers, adding scripts, etc...</p>

<plutus><transaction><haskell>
Cardano transaction builder library in Haskell
# Cardano transaction builder library in Haskell

(Asked by: username_0 on 2022-07-31)

Is there a way besides cardano-cli that I can use to construct a transaction using Haskell?

Something like Lucid-cardano npm package, but in Haskell land?

Said library should allow me to construct a tx, its datums, redeemers, adding scripts, etc...

**Tags:** plutus, transaction, haskell

---

## 1 answers

### Answer by username_1 on 2022-07-31. Score: 1 | Accepted answer

You can almost certainly do this using the `cardano-api` in the same `cardano-node` repository. The code in `cardano-cli` can act as a guide.

> **Comments:**
> **username_0**: Thanks, will look into it. It does seem like it requires a running node?  
> **username_1**: Creating the transaction does not require a running `node`, but submitting the transactions to the network will require a `node`.  
> **username_0**: `cardano-transactions` seems like what I would have loved to have, but it's not being actively developed anymore:  `let eitherTx = Tx.empty testnetMagic       & Tx.addInput input0       & Tx.addOutput output0       & Tx.addOutput output1       & Tx.lock       & Tx.signWith key0       & Tx.serialize`  
> **username_0**: Thanks @Erik, I'll look into it. I was just kinda hopping for a more convenient interface to use (like lucid-cardano in the npm/js world).  

---

