What Should I learn First CLI or Plutus? Want to be a Cardano Dev

Hey Y’all! I’m a 38 yr old Chef from the US and a burgeoning programmer. I’ve been teaching myself Haskell basics to get ready to learn Plutus. However, when I went to try to learn how to mint NFTs the directions were in the Cardano Command Line Interface. The CLI seems to have its own syntax and doesn’t look like Plutus. I would love to know the difference between the two, and since I want to make NFTs with my son’s art, which should I learn first.


You can create NFTs without learning Plutus. Unlike Ethereum tokens in Cardano are native, so you do not require a smart contract to mint them.
Yes, the cli is the main tool for that.

Having answered your question, I think it’s wonderful you have the desire to learn Cardano in order to delve into the world of NFTs. I certainly don’t want to discourage you, but it would be far easier for you to use one of the few NFT builders/makers (dApps) out there (Google Cardano NFT maker) to get started quickly, unless you have a very unique/specific plan on how to use them (store/view/sell/etc). We will soon see an explosion of NFT marketplaces in the Cardano blockchain, including the one Hoskis alluded to in a recent AMA.

I hope this helps.

Thanks for the tip! But can you explain to me what the CLI is? Or point me to some material that explains it compared to Plutus?

Thanks again

Of course. The CLI is the Command Line Interface. Is a way to interact with applications in a “low level” way: meaning no fancy GUI, but text based applications. Surely your OS comes with an application called Terminal that will allow you to run some low level operations. Most servers in the internet run “headless” so the only way to access the running process and applications is with the CLI. Try it in your machine, open a Terminal window and type ls or dir (if you are in a windows machine).

Now, Cardano has developed the Cardano-cli in order to build and submit applications from the command line (terminal). The process of building a transaction, or for you minting and NFT, is more involved than if it was done through a GUI (like the Daedalus wallet), or a web application like NFT maker.

Plutus is a programing language for building Smart contracts in the Cardano Blockchain. You can already(?) build smart contracts and deploy them in the Testnet (and soon in the Mainnet) by “attaching” the smart contract as a script in the blockchain.

So, to recap: CLI tool (application) to build and submit transactions. Plutus programing language.

1 Like

Awesome, you’ve been very helpful. I’m familiar with my Mac’s Terminal and what a CLI is in general, I just didn’t know if it was something different that I didn’t understand. My plan is to keep learning Haskell/Plutus and start minting NFT’s through a GUI interface. Some of the reasons I have been going all in on learning about the Cardano Blockchain is because of the tech (scalability and interoperability), Charle’s vision, and the amazing community support such as yourself. Let’s change the world for the better! If a guy like me who took a year and a half of IT and dropped out 10 years ago can do it, then anyone can :grin:


Its not much but I would love for you to see my first NFT Our first NFT!. Thanks for the support, sending love and good vibes your way.

1 Like

Wow beautiful! Good job. Please keep up the enthusiasm and good work and tell everyone how amazing Cardano is. Our community is here to help everyone and anyone, that’s how I know we’ll all succeed.

Here is my first one

Hell Yeah! That is an adorable dog, and I love :heart: :heart: his little jacket. Did you code it from scratch or did you use a website? The website I used sent me the meta data along with the transaction info in my wallet, but didn’t register it to the blockchain. When I went to try and register it on github, I couldn’t even copy it from my Daedalus wallet. Like I couldn’t even highlight it with my cursor. Weird. I hope I’m not bothering you and I don’t expect you to give me any tech support on this issue, I just wanted to tell someone. I’m going to message the guy who runs the website I used to mint mine.

I did it from scratch. If you have a large number of NFTs to mint, you might want to do it that way, otherwise it becomes a bit expensive (at least the services I found). The only cost really should be the tx fee in the blockchain and the IPFS hosting for the image(s), which you can host on a very cheap service like Pinata.

I’m not sure I follow your issue with the metadata and github?

I’m not sure I understand my issue either but I have time to work on it today. I’ll keep you updated