Announcement

Collapse
No announcement yet.

Khóa học lập trình smart contracts (hợp đồng số thông minh) online trên discord

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Khóa học lập trình smart contracts (hợp đồng số thông minh) online trên discord

    Chào các bạn sinh viên UIT thân mến,

    Block chain là công nghệ đã đang hiện hữu và sẽ là trend đúng nghía trong những năm tới.

    Cardano block chain là một nền tảng trong số nhiều block chain đuơng đại (bitcoin, ethereum, polkadot ...)

    Tại sao lai là cardano, cái đó mình chưa có thời gian viết bài phân tích.
    Nhưng đây là khóa học đầu tiên về Plutus (bên duới là haskell)



    Các bạn hãy học, cảm nhận, và biết đâu được, chính các bạn là những nguời tiên phong viết smart contracts trên nền cardano.

    Các bạn cần các kỹ năng tiên quyết sau:
    - lập trình cơ bản
    - pure math (tóan lớp 5, 6)
    - linux cơ bản
    - lập trình haskell
    - khái niệm block chain
    ...

    Mình sẽ bổ sung các tài liệu thêm sau nhé.

    Happy coding!
    Cheers
    Longkaht

    --

    Cập nhật tuần 1

    - Bài học 1: https://www.youtube.com/watch?v=IEn6jUo-0vU
    - Giới thiệu về crypto https://www.youtube.com/watch?v=EoO76YCSTLo&t=153s
    - Cài đặt plutus local playground trên fedora 32: https://github.com/ahaxu/plutus-lear..._playground.md
    - Giải thích Monad, manoids https://www.youtube.com/watch?v=ZhuHCtR3xq8&t=3611s
    - Haskell introduction, viết quicksort 5 dòng: https://www.youtube.com/watch?v=rIprO6zoujM&t=1486s
    - Sách hay: https://github.com/ahaxu/plutus-lear...ree/main/books
    Last edited by longnt; 09-04-2021, 10:42.

  • #2
    Kỹ năng tiên quyết dính tới Haskell khá là khoai :v

    Comment


    • #3
      Originally posted by 17520433 View Post
      Kỹ năng tiên quyết dính tới Haskell khá là khoai :v
      sao thế :3

      Comment


      • #4
        Originally posted by longnt View Post

        sao thế :3
        Monad trong Haskell vẫn là thứ gì đó khác bọt với phần còn lại ạ 😅.

        Comment


        • #5
          Originally posted by 17520433 View Post

          Monad trong Haskell vẫn là thứ gì đó khác bọt với phần còn lại ạ 😅.
          hehe, học thôi

          Mình cập nhật vài thứ

          - Bài học 1: https://www.youtube.com/watch?v=IEn6jUo-0vU
          - Giới thiệu về crypto https://www.youtube.com/watch?v=EoO76YCSTLo&t=153s
          - Cài đặt plutus local playground trên fedora 32: https://github.com/ahaxu/plutus-lear..._playground.md
          - Giải thích Monad, manoids https://www.youtube.com/watch?v=ZhuHCtR3xq8&t=3611s
          - Haskell introduction, viết quicksort 5 dòng: https://www.youtube.com/watch?v=rIprO6zoujM&t=1486s

          Happy coding, learning!

          Comment


          • #6
            Lâu quá không cập nhật, các bạn vẫn còn tiếp tục chiến món này chứ.
            Nhân dịp cardano hardfork combinator trên mainnet , có challenge này khá thú vị, hay, không khó.



            Đây là video hướng dẫn chi tiết cách submit random number của bạn : https://www.youtube.com/watch?v=6xEAnMaov3E

            Comment


            • #7
              Originally posted by 17520433 View Post

              Monad trong Haskell vẫn là thứ gì đó khác bọt với phần còn lại ạ 😅.
              Tiếp cận monad trong haskell thì nên từ từ, mới đầu vào nên học cơ bản từ
              Functor --> Applicative --> Monad
              --> [Composition --> Monad Transformer]

              Monad transformer thì có thể từ từ đụng đến, vì nó giải quyết vấn đề của monad ko thể composable (ko thể kết hoặc nhiều monad với composition)

              Còn để đạt mục đích code được plutus thì chỉ cần nắm (Functor, Applicative, Monad, Composition) là đủ dùng.

              Nhìn vào signature của Functor, Applicative, Monad (ở dưới là các hàm bắt buộc phải implement) chúng ta sẽ thấy sự liên quan rất tự nhiên giữa chúng

              Code:
              -- f ko phải là ký hiệu cho 1 hàm số (fx , fy ...) f ở đây cở thể hiểu là 1 structure chứa các phần từ bên trong, vdu: tập hợn (Set)
              Functor            (<$>) ::      a  -> b       ->  f a     -> f b
              Applicative        (<*>) ::     f (a -> b)     ->  f a     -> f b
              Monad              (=<<) ::       a -> m b     ->  m a     -> m b


              Chúc các bạn học thêm được nhiều điều mới để đón chào kỷ nguyên block chain 10-20 năm nữa
              Last edited by longnt; 14-09-2021, 07:50.

              Comment


              • #8
                Gửi các bạn iteration 2 của khoá học plutus



                Ngoài ra, đây là tổng hợp các nguồn học haskell hay

                1. Khởi động vài đường cơ bản https://www.youtube.com/watch?v=TdpBqhlgqGI...
                2.1 Tăng tốc xíu https://www.youtube.com/watch?v=ctfZ6DwFiPg...
                2.2 Vừa xem, vừa ngẫm, pause lại để mò / đoán type (hole driven development, kết hợp với 3 ) https://www.youtube.com/playlist...
                3. Bài tập và bài giải thì các bạn có thể tham khảo (kết hợp với 2.2)
                https://github.com/tonymorris/fp-course
                4. Reddit haskell https://www.reddit.com/r/haskell/
                5. Ebook https://www.goodreads.com/.../25587599-haskell...
                p/s: đừng tiếp cận monad quá sớm, đi từ functor -> applicative, bạn sẽ ngấm monad một cách rất tự nhiên (intuitively)
                happy coding xD

                Comment


                • #9
                  Gửi các bạn 3 links cơ bản để spin up local dev và haskell 101 (beginner)

                  Plutus Smart Contract - Spin up local dev environment (part 1& 2)
                  - https://www.youtube.com/watch?v=hW8VjlQLMAE
                  - https://www.youtube.com/watch?v=_2uldr5AYSc

                  Haskell 101
                  - https://www.youtube.com/watch?v=e-Y_5a4rUcM

                  Comment


                  • #10
                    Gửi các bạn playlist Haskell cơ bản tiếng Việt https://youtube.com/playlist?list=PL...qdTph1Ja-FiR0d
                    Last edited by longnt; 28-03-2022, 10:36.

                    Comment


                    • #11
                      Gửi các bạn bài 7 Applicative trong haskell



                      Comment


                      • #12
                        Originally posted by longnt View Post
                        Gửi các bạn bài 7 Applicative trong haskell



                        https://youtu.be/h2pVUDLL82g
                        Cảm ơn những chia sẻ của anh ạ, hy vọng sắp đến anh có thêm những chia sẻ thêm về mảng smart contracts

                        Comment


                        • #13
                          Originally posted by 19520440 View Post

                          Cảm ơn những chia sẻ của anh ạ, hy vọng sắp đến anh có thêm những chia sẻ thêm về mảng smart contracts
                          Yeap em, lộ trinh tiếp theo sẽ là:
                          - Tại sao lại cần Monad và Monad trong haskell
                          - Làm sao để combine các Monad lại với nhau, và tại sao lại cần Monad transformer ?

                          Qua phần smartcontract trên cardano:
                          - UTXO vs Accountbased model
                          - Tạo transaction cơ bản dùng `cardano-cli`
                          - Viêt một smart contract đơn giản = plutus

                          Sau đó thì các bạn tha hồ tham dự các cuộc thi hackathon, kiếm ít tiền trang trải học phí, biết đâu, sẽ có nhiều startup về blockchain từ mái trường UIT thân yêu ^^

                          Happy coding!

                          Comment


                          • #14
                            Originally posted by longnt View Post

                            Yeap em, lộ trinh tiếp theo sẽ là:
                            - Tại sao lại cần Monad và Monad trong haskell
                            - Làm sao để combine các Monad lại với nhau, và tại sao lại cần Monad transformer ?

                            Qua phần smartcontract trên cardano:
                            - UTXO vs Accountbased model
                            - Tạo transaction cơ bản dùng `cardano-cli`
                            - Viêt một smart contract đơn giản = plutus

                            Sau đó thì các bạn tha hồ tham dự các cuộc thi hackathon, kiếm ít tiền trang trải học phí, biết đâu, sẽ có nhiều startup về blockchain từ mái trường UIT thân yêu ^^

                            Happy coding!
                            Dạ em rất cảm ơn anh đã dành nhiểu thời gian chia sẻ cho tụi em về mảng kiến thức này. Chúc anh ngày càng nhiều sức khỏe và có thềm nhiều video hay cũng những chia sẻ về các mảng kiến thức khác.

                            Comment


                            • #15
                              Originally posted by 19520440 View Post

                              Dạ em rất cảm ơn anh đã dành nhiểu thời gian chia sẻ cho tụi em về mảng kiến thức này. Chúc anh ngày càng nhiều sức khỏe và có thềm nhiều video hay cũng những chia sẻ về các mảng kiến thức khác.
                              welcome em.

                              Link mới nhất về monad transformer trong haskell nhe https://youtu.be/AtnRTUrv5nY

                              Happy coding

                              Comment

                              LHQC

                              Collapse
                              Working...
                              X