I have a few questions, which I think might interest a lot of folks here. Me and my team we are developing an app on Cardano and we want to avoid using PAB or Blockfrost for our infrastructure. We are thinking about creating our own custom APIs using Express/Node, and we will do all the transaction construction/balancing on the client-side using serialization library. My questions are:

  1. How do we should design our APIs (i.e for a liquidity pool smart contract or a voting smart contract)?

  2. What is the actual coding process? Do we code endpoints via express, and we code the same endpoints inside our Plutus script?

  3. Do we need to do something for the Plutus script & our custom API endpoints to be able to talk with each other?

Thank you in advance for your help.

  • 1
    Have you already written and tested your smart contracts with the PAB? I think, this would be a starting point do understand what you need. For quick development, the PAB is great. Only actual deployment is a pain.
    – Jey
    Commented Apr 27, 2022 at 18:44
  • Hey thanks for this. Is PAB really good for fast development? I mean I need to run so many things on my machine to make it work which are resource heavy. Commented Apr 28, 2022 at 7:37
  • What things do you mean ? For testing with EmulatorTrace you don't need chain index and a Cardano node for example. It is very convenient for defining your scenarios, seeing what happens when you execute them, and debugging. For real tests on the public testnet you would need chain index and Cardano node, though. This is when the problems start : ).
    – Jey
    Commented Apr 28, 2022 at 9:57
  • Yeah exactly. Im referring for end-to-end production ready solutions. Commented Apr 28, 2022 at 13:29
  • Using the PAB for development and testing does not mean you can't use another solution for end-to-end production. Developing inside the PAB will help you find out which API endpoints you need and how the user should interact with your Plutus scripts. These scripts are independent of the PAB anyway. You will also realise that you cannot do everything client-side and that you need some component that can query the blockchain.
    – Jey
    Commented Apr 28, 2022 at 13:50


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.