How to start learning to develop smart contacts



Smart contacts are a super interesting concept but I find it hard to learn how to develop them.
I am a Java backed developer and find it too hard to understand the papers. Cardanodocs is good for learning proof of steak, Cardano SL, tools, broader concepts and Plutus as a language. But I couldn’t find an actual smart contact example. Also on YouTube I couldn’t find something.
Should I start with Solidity first and then move on to Cardano?


I'm a programmer. What can I do with Cardano?

(Moved from Beginners to Developers)

In the new KEVM testnet release announcement a few hours ago, it is recommended to start with Solidity, but in the future when IELE mainnet is released ( approx. at the end of the year), you will be able to develop your smart contract in your language, Java.

The IELE testnet will be released in July. IOHK clearly says that it’s preferable to start with Solidity on both tesnets in the meantime. Best of luck!


Here’s all you need to start: :slight_smile:

P.S. Additionally may be considered:


You guys rock, thanks for your quick feedback! I’ve actually already had a look at the YouTube tutorials you’ve posted @vantuz-subhuman after my post as they are even the first one that come up when searching for Solidity tutorials. Your second link looks also very interesting!
Thanks for the clarification @CosmosX it’s good to know I’m on the preferred track then!
I don’t necessarily need to develop in Java as I’m a quite curious kind of a guy :-). I’ll look into Marlow as well. Maybe I can bring some of my DSL knowledge to the table.


Don’t forget, tho, that Marlowe will be a very domain-specific language for financial contracts only. So it’s not a general purpose language, from what I know. And this simplicity allows to build some tools around it, like Blockly:



Yea, I understand that. Thanks for the reminder.


Thanks, that looks like a helpful and extensive list!


I’ve had a look into a small end to end Solidity tutorial [1] and wanted to apply that to Cardano now but got stuck.
It would be really great if someone could support me!
I’ve created the testnet wallet according to the website [2] and added some test tokens as described [3]. They are showing up on getBalance() but I don’t know how to deploy a smart contract and interact with it as in [1].
I tried adding a custom node in my local MEW as in [1] with but that failed with (error_33) Could not connect to the node. Refresh your page, try a different node (top-right corner), check your firewall settings. If custom node, check your configs.
Any help on how to deploy smart contracts is much appreciated!

[1] -
[2] -
[3] -


I could progress on that now thanks to the developers Telegram group and especially Marc there. But there is still one problem I’m stuck with. I’ve created a separate forum entry for that. See: Where to see the state of the smart contact?


I have installed ‘java’ and when I go to run on the windows cdm I get an error, you could or could do the steps to start the ‘testnet’, thanks


Thanks for all the links here, guys.

They are very helpful.