<p>I think you want the cardano-api, part of the cardano-node repo. Most things that can be done, it can do. At the very least its the place to start.</p>
<p>The cardano-cli provides a set of examples of how to use the api to, say, make keys or build txs.</p>

CC BY-SA 4.0
2022-05-19T20:46:11.117Z
Thanks for the answer! So I could build just the api directory and add it as a dependency to my cabal.project file right? Also, I was unable to find the examples for the api in the cli directory, could you link them? Thanks again!
Sean Ishan
CC BY-SA 4.0
2022-05-19T22:59:34.780Z
I tried this and it works for creating addresses! But it throws an error when I try to build transactions because it requires CARDANO_NODE_SOCKET_PATH
Sean Ishan
CC BY-SA 4.0
2022-05-20T10:06:09.647Z
Ah. You'll have to dig in to the code (its intimidating but doable) to see what its using the node for. It might just need the env variable set (some initial catch-all condition to prevent the user getting down stream errors that make no sense, but this particular call doesn't actually use the node service) or it might need to protocol params... at which point this won't be an off-the-shelf solution. Still you could extract the function can provide the params yourself.
waalge
CC BY-SA 4.0
2022-05-21T11:48:03.820Z
Oh okay, will try to do this! Thanks again
Sean Ishan
CC BY-SA 4.0
2022-07-31T17:51:31.897Z
Yeah, I think that this requires a running node, which is why CARDANO_NODE_SOCKET_PATH is required.
Attilah
CC BY-SA 4.0
2022-07-31T17:54:58.143Z
I have been looking into this as well, please hit me up if you have come up with something easier/more convenient.
Attilah
CC BY-SA 4.0
2022-05-19T16:10:59.460Z
2022-05-19T16:10:59.460Z
waalge
<p>I am looking for a Haskell alternative to the cardano-serialization-lib, which can work in conjunction with blockfrost-haskell. So ideally, it should be able to easily create wallet keys, transactions, etc., without having to use Javascript (and also not running cardano-node). What's the best way to go about this?</p>

<cardano-cli><haskell><cardano-serialization-lib><blockfrost>
Haskell + Blockfrost toolchain?
# Haskell + Blockfrost toolchain?

(Asked by: username_0 on 2022-05-18)

I am looking for a Haskell alternative to the cardano-serialization-lib, which can work in conjunction with blockfrost-haskell. So ideally, it should be able to easily create wallet keys, transactions, etc., without having to use Javascript (and also not running cardano-node). What's the best way to go about this?

**Tags:** cardano-cli, haskell, cardano-serialization-lib, blockfrost

---

## 1 answers

### Answer by username_1 on 2022-05-19. Score: 3 | Accepted answer

I think you want the cardano-api, part of the cardano-node repo. Most things that can be done, it can do. At the very least its the place to start.

The cardano-cli provides a set of examples of how to use the api to, say, make keys or build txs.

> **Comments:**
> **username_0**: Thanks for the answer! So I could build just the api directory and add it as a dependency to my cabal.project file right? Also, I was unable to find the examples for the api in the cli directory, could you link them? Thanks again!  
> **username_0**: I tried this and it works for creating addresses! But it throws an error when I try to build transactions because it requires CARDANO_NODE_SOCKET_PATH  
> **username_1**: Ah. You'll have to dig in to the code (its intimidating but doable) to see what its using the node for. It might just need the env variable set (some initial catch-all condition to prevent the user getting down stream errors that make no sense, but this particular call doesn't actually use the node service) or it might need to protocol params... at which point this won't be an off-the-shelf solution. Still you could extract the function can provide the params yourself.  
> **username_0**: Oh okay, will try to do this! Thanks again  
> **username_2**: Yeah, I think that this requires a running node, which is why CARDANO_NODE_SOCKET_PATH is required.  
> **username_2**: I have been looking into this as well, please hit me up if you have come up with something easier/more convenient.  

---

