Trying to Create a Smart Contract on Cardano as a Developer Outside Intersect (Post-Chang2)
Anyone with a reasonable technical background and some programming experience ever tried to create a smart contract on Cardano? Well… let me walk you through what that journey really looks like right now - and I say this as someone who just tried.
If you’re not part of Intersect, not a core dev at IOG, and you’re coming into the ecosystem post-Chang2 with PlutusScriptV3 in mind, here’s the raw truth:
The Ecosystem Is Broken. Unbundled. Undocumented. Brutally Unforgiving.
You’re not imagining it.
It’s not you.
You don’t lack skill.
You’ve just walked into a minefield of:
Repos that don’t build
Tags that don’t exist
Tooling that’s changed without warning
Conflicting package versions
Missing dependencies (cardano-crypto-class… hello darkness, my old friend)
And docs that read like riddles from an ancient civilization
Here’s What You’ll Face:
The official examples don’t compile
You’ll try plutus-starter, then realize it’s been archived or quietly abandoned
You’ll switch to IntersectMBO/plutus, only to find out it’s a monorepo from hell
You’ll fight with cabal, because it tries to fetch everything from Hackage — but half the Plutus packages don’t even exist there
Then, you’ll try to stitch together your own project… and you’ll fall into dependency limbo
And When You Think You’re Close?
You’ll get a .plutus file built (maybe), but trying to actually deploy it on mainnet? That’s another fight:
cardano-cli` requires exact formats and byte layouts
There’s no end-to-end example for Plutus V3 that actually works
You’ll spend hours just trying to send a basic ADA UTxO to a validator that always returns ()
Here’s the Real Deal
The tooling is still clearly made for the insiders - not for the broader dev community. If you’re not running the exact same stack inside Intersect or IOG, you’re basically on your own.
And it shows.
To the Ecosystem Maintainers
If Cardano wants real developer adoption, the bar must be lowered. That doesn’t mean sacrificing correctness or security - it means lowering friction:
Provide a working end-to-end example using current Plutus tooling
Ship it as a **zip, a Docker container, or even a damn bash script
I feel you. However, many of the problems you’re facing are because you might not have chosen the friendliest stack. If you don’t have a preference for Haskell and CLIs, you can use Aiken for the on-chain and a JS library like MeshJS for the off-chain. No Nix configs, high-level, and overall easier to use. Hope it helps.
PD: Here are like 10 examples (as a string cause I can’t add more than two links per post):
I had such frustrations in 2021 - 2022 but no more in 2024 - 2025. There are so many easy to use templates, services, libraries and demos that helps new developers get started easily and quickly. Here are examples, Helios Coxylib.js(coxygen/coxylib at main · wimsio/coxygen · GitHub). This is 100% js and has no dependencies and even my new first year IT college students use this to integrate Cardano to any website e.g. Coxygen Global - Cardano Live Technical Support
Inviting all developers in Cardano struggling with dev tools and frustrated. Coxygen Global runs daily smart contract coding live sessions in 3 timezones -8 to -4 GMT, +10 TO +14 GMT, +18 to +22 GMT https://meet.google.com/xtr-vxsa-znx Today we produced a working English Auction Demo using simple vanilla javascript Helios Coxylib. Yes, zero framework working auction on Cardano blockchain.
Coxygen is a Cardano Live Technical training and supported services funded by Catalyst voters!
We are also running live Haskell Plutus daily sessions under the Catalyst funded 16 universities Coxygen Global Universities Colleges Haskell Plutus . If you like this then help spread the word.
When you say working on Cardano - does it work on mainnet - after weeks of trying I gave up as everything (as you can see from my post) was disjointed and not aligned - just when I got something working - it wouldn’t work as it was only working on pre-prod or something - fraustration is an understatement
I am sorry for your frustration. That was my experience in 2022 when developing was using emulators and other DSL like Aiken, Helios, Lucid Evolution, Demeter.run, Mesh, Python, and services like Maestro, etc were not there. When I say it is working, I mean on mainnet but tested with same conditions on preproduction, preview. It is a MVP using mainnet conditions except that it is under test using tAda.Remember, when deploying on production the sc needs to be audited for security. I also produced a proof of concept tokenizing real estate on Cardano using plain vanilla js Cardano Property Solutions. Mostly I am training students in colleges: The approach is simplification and easy onboarding. To all frustrated developers connect with Coxygen Global live sessions. They are for free!
What makes Cardano different, better and Beneficial is a) Good compiler Haskell, b) Open Source c) Peer based Team coding d) Rigorous Testing e) Auditing Code f) Reasoning (logic and maths proofs) about code. Here is a demo MSSD.