jungsNN / Haskell-Plutus-journal

This is a log of everything I have learned about Haskell. The ultimate goal is to become a Plutus contract developer.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Haskell-Plutus-journal

Why Haskell?

The purpose of this journal is to learn how to write high-assurance smart contracts and document my progress with the team. Unlike, Solidity, which has only been around for 5 years, Haskell was invented in the late 80s so not only did it have more time to grow, but it has more capabilities than its imperative counterpart, solidity. As a functional programming language, there is no need to define every function in Haskell, because everything is a function, combine that with type inference from the compiler, that leaves less room for error. It may be a good idea to design a website using an imperative programming language, but when it comes to writing smart contracts that handle millions of dollars of cryptocurrencies, and people's identities, the consequences of failure are significantly higher. Its not a coincidence that Haskell is used by top tier investment banks, air-traffic controllers, and X-ray technicians; the margin of error is miniscule, otherwise people could die! A great example of the consequences of failure is the DAO hack of 2016

Underlying reasons for developing on Cardano

Because I'm too busy to explain why we're developing on Cardano, watch these videos for your own education and amusement:

https://www.youtube.com/watch?v=GupSfja8gMc - Eric Manganaro explains why the killer app of Haskell is plutus contracts.

https://m.youtube.com/watch?v=HoH__7mLA1w - Hasan Michael giving a broad overview of the Cardano Blockchain.

https://m.youtube.com/watch?v=d5ANRngQ_YE - President of Cardano, Charles Hoskinson, explains how unbanked countries will be the leading customer base for DeFi.

Resources

http://learnyouahaskell.com/chapters - Learn you a Haskell

https://www.youtube.com/channel/UCcAwSpbpQDDzEDRQqcDH8Iw this is an archive of all the Plutus Pioneer lectures so far!

https://cardano.stackexchange.com The Cardano Stack Exchange!

https://docs.plutus-community.com/ This is documetation on how to set up Plutus on your local environment. For Apple Silicon users, YOU MUST download Rosetta first and setup your dependencies in an Intel-based VS Code. The reason for this because IOHK does not have M1-compatible dependencies yet.

https://imada.sdu.dk/~rolf/Edu/DM22/F06/haskell-operatorer.pdf this is a PDF file of all the Haskell operators and what they mean.

https://iohk.io/en/blog/posts/2021/04/13/plutus-what-you-need-to-know/ This Blog explains how Plutus works.

https://github.com/input-output-hk Plutus code examples.

https://github.com/input-output-hk/plutus-pioneer-program This is the github for the plutus pioneer program, they have homework assignments and lecture notes for you to use!

https://developers.cardano.org/docs/get-started/ Cardano Developer tools.

https://www.youtube.com/channel/UCBDp7ydYTHi1dh4Gnf3VTPA Professsor Graham Hutton's lectures on Haskell.

https://wiki.haskell.org/Haskell Wikipedia but for Haskell.

https://www.youtube.com/playlist?list=PLJ3w5xyG4JWmBVIigNBytJhvSSfZZzfTm IOHK Haskell workshop in Mongolia.

https://discord.gg/W6mhZeRB This is the IOHK discord. Even if you're not in the Plutus Pioneer program, these guys are super chill and they will help you with whatever you need! :)

https://www.reddit.com/r/CardanoDevelopers/ This is a link to the Cardano Developer subreddit!

https://www.reddit.com/r/haskell/ Haskell subreddit!

About

This is a log of everything I have learned about Haskell. The ultimate goal is to become a Plutus contract developer.


Languages

Language:Haskell 100.0%