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:
write code and test (preliminary) in Plutus playground
serialize the code with some scripts to get a file, say: script.plutus
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.
Agree. I am also playing around cardano and dApps development and it seems that there is not a lot of people deep into this topic. It’s hard to find info, documentation is just a little bit helpfull and in some places not finished. Dev tools sometimes works sometimes not.
A new platform has recently been released which makes the barrier to entry much lower for starting to make a DApp - checkout https://demeter.run/
I would also like to tackle learning haskell/plutus/eUtxo but there is indeed a lot of ground to cover. I also find there is usually a large distance between the typical hello world example and what’s actually required to get even a very simple end-end application working - many platforms fail to have a pathway to bridge that gap.
This has summed up my experience mostly as well. The tooling creates such a headache for beginners it feels like it was almost designed that way. I can relate to all of the things you mentioned plus a few more since I’ve had the pleasure of actually trying to deploy a smart contract to a web app and work with it in a front end (which is somehow more frustrating than compiling plutus code). But there are some really helpful communities and resources (like Gimbalabs PBL: https://gimbalabs.com/pbl) that have made things more understandable and provide tons of support for developers of all levels.
Smart contracts are still young on Cardano so it’s probably not going to be like this forever and I’m sure eventually the tooling will mature.
I sincerely hope that I was wrong, everybody is fine developing, and it is just me. But it seems that is not the case.
In the age of free knowledge (in youtubes, stackoverflows, this forum, etc), I usually can learn new skills and get things up and running in weeks, if not days. I dwell on plutus already for months. Still don’t get a grip. The only way seems to be that I have to write/maintain my own toolings to automate the deployment and testing process. That is a huge work.
Like many people here, I am all-in for Cardano. But investing time and energy in a new skill set in a new language, new environment, new programming paradigm is hard and risky. Especially when you know those skills are cardano-specific and may not apply to other blockchain. And now you realize you have to develop your own infrastructure/toolings. This is tough.
Also there seems to be a disconnection, a huge gap, between the IOG, the Cardano community and the developers. They are facing different versions of reality. For the IOG and the community, the future is bright and it’s a matter of time developers/builders will come running to the ecosystem. That’s what I thought, too.
But after spending months in this thing. I don’t know how that is gonna be possible. Trying to build on Cardano feels like going to a restaurant too early it is not yet open for business. The enthusiasm in the Cardano general community doesn’t reciprocate that of developers’. The latter is much more dull and much less active.
This has to change. We need a Remix, an IDE, or some working version of it. Does anybody here know how to get this message up to the leadership or the influencers of Cardano?
You know what? I can just shamelessly call them out.
IOG’s plan is to put the Haskell course, the Plutus course, and Marlowe course into a Remix like environment so that anyone can write and deploy smart contracts to the mainnet from the browser with no setup required on the local machine. Then they will post the courses with freecodecamp for all people.
The Remix like environment is not likely to be ready before the next Plutus Pioneers Cohort but is promised to be ready for the one after.
Shortly after I had been elected a moderator at said Stack Exchange, a new face at IOG reached out to me asking how we can promote the CSE more. I also mentioned, just like you now, to have their people who know Cardano / Plutus in and out dedicate some time of their work to the site.
Just like many conversations with IOG, that never let to anything.
I share your criticism and I think it is a very reasonable ask that you propose.
That is indeed concerning. I don’t wanna make a comparison, don’t wanna make this sounds like a FUD, but Cardano is lacking behind competitors in this area. As a developer who really love Cardano, I am now very tempted to build elsewhere. That’s a shame because I know in the long run, Cardano is gonna be faster, cheaper, and more secure.
I look at the number of projects built on cardano on weekly reports. Even after Vasil HF, it is still oscillating around 1,100 - not trending upward as it should. If Cardano wants to reach its full potential, IOG needs to give more priority to developers, especially the new ones. Attract them, help them having the easiest time getting into and building on Cardano.
BTW, you are an ambassador. You have channels that can ascend this concern, right? Can you do that? Or at least can you point me to the right person/direction?
That is likely to be at least 6 months into 2023. Well… better than nothing.
There are projects (like Sundaeswap, JPG.store, etc) currently running on Cardano. I can imagine they already developed in-house IDE or something similar. If only they are willing to open-source their tools, that would be great for the ecosystem. If only IOG can help coordinate to make that happens, they don’t have to build such tools from scratch. That would really speed things up.
Exactly. Plutus tutorial on Youtube is almost non-existent. The most useful I find is a few videos from Plutus Pioneer Program. I feel like no body is developing on Cardano. Like, the number of people who really know how to build dApp in this ecosystem is extremely limited.
I have felt the way you feel now.
But the learning resources are out there and there is much we can do now to get ourselves ready to take advantage of the new Remix like IDE when it arrives.
Please examine the learning opportunities we have now at the following link.
I am sure your time and effort will be rewarded with success as more and more people realize that the methodical approach to blockchain development produces the most security, the most utility, and ultimately the most value. https://johnshearing.github.io/cardano_syllabus/
Sorry I think that link is specific to my login.
Please go to www.discord.com
Then click the button marked “Open In Browser”
Then click the search button marked as 1 in the image below.
The search button looks like a compase needle.
Then search for IOG in the search box marked as 2 in the image below.
Then select IOG marked as 3 in the image below.
Then you should get an automated invite to the IOG discord.
Please accept the invite and you are in.
@AdamYoung, I think you need to verify before you can see any of the topics.
Click the item on the left which says #verify
Then follow the instructions.
I think you need to do a captcha to prove you are not a bot.
After you are verified you will be able to see all the topics shown below and more.