When developers get into plutus playground, 10 out pf 10 expect it to work like remix, an IDE. You put a code in. You compile and deploy. And then start interacting with the dApp. All in the same window. If ready for production, you just connect the metamask and select the mainnet. It’s that easy.

Cardano has no comparable IDE. The closest thing is plutus playground, which is just a toy, not the real thing. There is no work flow from plutus playground to deploying, and interacting with the smart contract in the real blockchain. Worse, you have to write extra code just to test the damn thing off-chain. The code that is tested is not the code that is gonna be deploy. What is the point?

The possible/inconvenient work flow that I can imagine is:

  1. write code and test (preliminary) in Plutus playground
  2. serialize the code with some scripts to get a file, say: script.plutus
  3. Real test: use script.plutus with cardano-cli to make transactions to test if the smart contract works as designed

And there are all sorts of problem along the way. For example:

In step 1, sometimes Plutus playground just can’t compile the code. In step 2, developers run into all kinds of compatibility/dependencies issues.

On top of that developers has to run full cardano node, in order to submit test transaction through cardano-cli.

For companies with resources, they can develop custom in-house tooling for their work flow. But it is not easy at all for an individual developer trying to get into Cardano ecosystem.

And the forum like cardano.stackexchange.com or forum.cardano.org is not very helpful.

I see a lot of unanswered questions, especially those asked by beginners like me. I wish IOG or Emurgo take a more active role in these forums. Helping the beginners.

  • 2
    I agree, the development experience is currently a nightmare. It should be as easy as a simple npm/pip install of Plutus. Right now you need to allocate 50gbs of memory to just have Nix running on your system, and require a a 500 line cabal file to just compile your project... Until it becomes easy as the former it will not be very accessible to the average dev. Luckily there's already solutions being built like Helios and Aiken. These allow you to write contracts in a C-esk syntax way and you can easily compile and test them without requiring Blockfrost/running a full node.
    – et97
    Commented Nov 9, 2022 at 6:16
  • 1
    Helios and Aiken. I will certainly check them out. I really want to make it work with plutus because it is kind of native language/environment and native things tend to have better performance. But at this point any alternative is a fair game.
    – Adam
    Commented Nov 9, 2022 at 12:58
  • Please checkout dquadrant.github.io/kuber
    – Fermat
    Commented Nov 9, 2022 at 16:42
  • also checkout: demeter.run
    – zhekson
    Commented Nov 9, 2022 at 17:04
  • 1
    Since this is not really a question, I'm gonna close it. Thanks for trying to get more awareness for this topic, I can only agree with your points. The discussion can be continued over in the Cardano Forum, where Adam made the same post: forum.cardano.org/t/…
    – eddex
    Commented Nov 11, 2022 at 8:13