over budget

An open source book on Cardano

$59,850.00 Requested
Ideascale logo View on ideascale
Community Review Results (1 reviewers)
Impact / Alignment
Feasibility
Auditability
Solution

An open-source instructional book that covers everything needed to eventually master Plutus with no prerequisites required, written in both English and Spanish.

Problem:

Comprehensive instructional resources on Plutus that don't require prior functional programming experience are limited and such resources are almost non-existent for Spanish speakers.

Yes Votes:
₳ 31,940,697
No Votes:
₳ 26,229,752
Votes Cast:
355

  • download
  • download
  • download

[IMPACT] Please describe your proposed solution.

This open-source instructional book uses a theoretical and practical approach and requires no prerequisites. Mathematical foundations will be introduced first, followed by an introduction to programming with an emphasis on functional programming in order to proceed to Haskell and its type system. This puts the reader in the position to be able to learn Blockchain and the technologies that revolve around the Cardano ecosystem (Plutus, Plutarch, etc.).

The content of the book aims to unify the fundamentals for the reader so that they are able to successfully enter the Cardano ecosystem, and without much confusion. On the other hand, this book will be open source (MIT license), so that anyone in the community may modify it. This is an instructional book written specifically for the Cardano community.

[IMPACT] Please describe how your proposed solution will address the Challenge that you have submitted it in.

This book will serve as a resource for working in the Cardano blockchain. It will create comprehensive online instruction, accessible to all. This will increase developer productivity (knowledge base & documentation) as well as raise the technical competency of the community (without the need for prerequisites), fulfilling the goals of the fund.

Why is it important?

Creating an awesome experience that incentives developers, will lead to increased developer adoption, productivity, and creativity.

¿Does it have a prerequisite?

No, it is assumed that the reader has no experience in programming or in the world of Blockchain. That is to say, it is a self-contained book that progresses as each chapter progresses.

General outline:

Image File

Subject Index:

  1. (Mathematical foundations) Fundamentos matemáticos
  2. (Propositional logic and first-order logic) Lógica proposicional y de primer orden
  3. (Functions) Funciones
  4. (Boolean algebra) Álgebra de Boole
  5. (Set theory) Teoría de conjunto
  6. (proof) Demostración en matemática
  7. (Introduction to programming) Introducción a la programación
  8. (Turing machine) Máquina de Turing
  9. (Basic operations) Operaciones básicas
  10. (State machines) Máquina de estados
  11. (Lambda calculus) Cálculo Lambda0
  12. (Operations and variables) Operaciones y variables 0
  13. (Abstraction) Abstracción
  14. (Application) Aplicación
  15. (Reduction) Reducción
  16. Alfa
  17. Beta
  18. Eta
  19. (Examples) Ejemplos
  20. (Arithmetic) Aritmética
  21. (Conditional) Condicionales
  22. (Tuples and lists) Tuplas y listas
  23. (Introduction to Typed Lambda calculus) Introducción al cálculo lambda tipado
  24. (Introduction to functional programming and Haskell) Introducción a la programación funcional y a Haskell
  25. (Functional programming) Programación funcional
  26. (Basic concepts) Conceptos elementales
  27. (Pure functions) Funciones puras
  28. Higher-order functions
  29. Pattern matching
  30. Lazy evaluation
  31. (Referential transparency) Transparencia referencial
  32. (Immutability) Inmutabilidad
  33. Haskell
  34. (Prerequisites) Requisitos previos
  35. (Install) Instalación
  36. (Development environment, editor, IDE) Entorno de desarrollo
  37. (Lists) Listas
  38. (Type and Type Class) Tipos y tipos de clases
  39. Pattern matching
  40. (Recursivity) Recursividad
  41. Higher-order functions
  42. (Modules and composition) Módulos y composición
  43. (Functors and monoids) Funtores y Monoides
  44. (Monads) Monadas
  45. (Introduction to Blockchain) Introducción a Blockchain
  46. (Cryptographic fundamentals) Fundamentos criptográficos
  47. (Numbering system) Sistema de numeración
  48. (hash) Funciones de resumen
  49. (Electronic signatures) Firmas electrónicas
  50. (Protocols) Protocolos
  51. (Hash pointer and Merkle tree) Punteros hash y árboles de Merkle
  52. (Introduction to Bitcoin) Introducción a Bitcoin
  53. (History - Whitepaper) Orígenes
  54. (ECDSA protocol) Protocolo ECDSA
  55. (Transactions) Transacciones
  56. (Distributed consensus protocol) Protocolo de consenso distribuido
  57. (Limitations) Limitaciones
  58. (Security problems) Problemas de seguridad
  59. (Scalability) Escalabilidad
  60. (Governance) Gobernanza
  61. (Smart contracts) Contratos inteligentes
  62. (DeX) Intercambio descentralizado
  63. (DeFi) Finanzas descentralizadas
  64. (Use cases and limitations) Casos de uso y limitaciones
  65. (Privacity) Privacidad
  66. (Scalability) Escalabilidad
  67. (Performance) Rendimiento
  68. (Key management) Gestión de claves
  69. (Introduction to Plutus) Introducción a Plutus
  70. (Introduction to Cardano) Introducción a Cardano
  71. (System architecture) Arquitectura del sistema
  72. (Why Plutus?) ¿Por qué Plutus?
  73. (Smart contract: the model (E)UTxO) Contrato inteligente: el modelo (E)UTxO
  74. (How does it differ from the UTxO model?) ¿En qué se diferencia con el modelo UTxO?
  75. Playground
  76. (Using Plutus Tx) Usando Plutus Tx
  77. (How can you build your first smart contract?) ¿Cómo construir tu primer contrato inteligente?
  78. (Validators) Validadores
  79. (Type) Tipado
  80. (Free type) Libre de tipos
  81. (Exercises) Ejercicios
  82. (Scripts validation) Validación de scripts
  83. (Context) Contexto
  84. (vesting contracts) Contratos de adquisición de derechos
  85. (time sensitive contracts) Contratos con límite de tiempo
  86. (parameterized contracts) Contratos parametrizados
  87. Cardano CLI
  88. (Monads) Monadas
  89. EmulatorTrace
  90. (Monad contract) Mónada de Contrato
  91. (Policy) Políticas
  92. (Value) Valores
  93. (minting policy) Política de acuñación
  94. NFT
  95. (Deployment of contracts) Despliegue de contratos
  96. (mint tokens) Tokens de acuñación
  97. CLI
  98. (Scenarios) Escenarios
  99. (Plutus Application Backend) PAB
  100. (State machines) Máquinas de estados
  101. Staking & Testnet
  102. (Vulnerabilities) Vulnerabilidades
  103. (Common problems) Problemas comunes
  104. (Plutus. Domain Specific Languages) Más allá de Plutus: lenguajes de dominio específico
  105. (Why use a language other than Plutus?) ¿Por qué usar otro lenguaje distinto de Plutus?
  106. Plutarch
  107. (Introduction) Introducción
  108. (How to write on-chain scripts?) ¿Cómo escribir un on-chain scripts?
  109. (Examples) Ejemplos
  110. Marlowe
  111. (Introduction) Introducción a Marlowe Playground
  112. (How to write a smart contract?) ¿Cómo escribir un smart contracts?
  113. (Examples) Ejemplos
  114. (Integration with other languages) Integración con otros lenguajes
  • (Glossary) Glosario de términos

  • (References) Referencias

  • (Index)· Índice alfabético

    [IMPACT] What are the main risks that could prevent you from delivering the project successfully and please explain how you will mitigate each risk?

Risks:

The project may be a risk in the sense that there is no official, complete, updated documentation of each of the Cardano ecosystem tools. Rather the information is dispersed throughout different places and formats. Therefore, the risk is the research, and being able to separate the wheat from the chaff.

Opportunities:

Some potential opportunities:

  1. The book introduces the necessary foundations for any Blockchain in its first chapters and therefore will take longer to become outdated, despite ever-changing technology. Publishing a later update of the book is more feasible for this reason, as it would not be necessary to rewrite the first chapters’ content.
  2. Another opportunity lies in the potential to create audiovisual courses (on a website) or other types of courses based on the book's content. In this case, the book would be the reference for the course.
  3. The book will be open source under the MIT license. https://choosealicense.com/licenses/mit/

Some possible objections:

  1. ¿Why in Spanish?
  2. Currently, there are limited written and audiovisual resources that offer a comprehensive technical introduction to the Cardano ecosystem and there is no such educational resource currently available in Spanish. Creating this resource will help to expand the platform's technical community of developers and, in particular, advance opportunities for Spanish-speaking and novice developers.
  3. ¿Why a Book?
  4. A book allows for greater depth, breadth and detail of the topics to be covered, which, in another format, might not go sufficiently in-depth.
  5. This is not a book solely on Plutus, in fact the content is created for readers with no background in mathematics or programming; that is what makes this a noteworthy book. Even the current courses available in English assume a previous knowledge of either mathematics, logic or of Haskell.

Preliminary references to be used in the book:

  • Mathematical foundations and introduction to programming:

  • Chacón Sartori, Camilo. Principios de Programación, Marcombo.

  • Functional programming and Haskell:

  • Chacón Sartori, Camilo, Computación y programación funcional, Marcombo, 2021.

  • http://learnyouahaskell.com

  • <https://haskell.mooc.fi/part1>

  • <https://typeclasses.com/beginner-crash-course>

  • Cryptography, Bitcoin and Blockchain:

  • Paar, Christof, 1963-. Understanding Cryptography : a Textbook for Students and Practitioners. Berlin ; London :Springer, 2009.

  • Tanwar, Sudeep. n.d. Blockchain Technology. Springer Nature Singapore. Accessed June 5, 2022.

  • Svensson, Conor. The Blockchain Innovator's Handbook: A leader’s guide to understanding, adopting and succeeding with this disruptive technology, 2021.

  • Arroyo Guardeño, David; Diaz Vico, Jesús; Hernández Encinas, Luis. ¿Qué sabemos de? Blockchain, 2019.

  • Bitcoin and Cryptocurrency Technologies, 2017. http://bitcoinbook.cs.princeton.edu

  • Casino, Fran & Dasaklis, Thomas & Patsakis, Constantinos. (2018). A systematic literature review of blockchain-based applications: Current status, classification and open issues. Telematics and Informatics. 36. 10.1016/j.tele.2018.11.006.

  • Cardano and Plutus:

  • Research papers: <https://iohk.io/en/research/library/>

  • Brünjes, Lars; Vinogradova, Polina. Plutus: Writing reliable smart contracts, 2019.

  • <https://github.com/input-output-hk/plutus-pioneer-program>

  • Beyond Plutus. DSL (Domain Specific Languages):

  • Plutarch. <https://github.com/Plutonomicon/plutarch/blob/master/docs/README.md>

  • Marlowe. <https://docs.cardano.org/marlowe/learn-about-marlowe>

    [FEASIBILITY] Please provide a detailed plan, including timeline and key milestones for delivering your proposal.

Planning:

Chapters completed /Duration in months

1-2 / 1

3 / 2

4-6 / 5

Total / 8 months

Image File

Writing methodology:

Markdown will be used, using pandoc to convert into different formats. In addition, the book will have many graphic elements to aid in content comprehension.

  • Each completed chapter will be uploaded to a public repository on GitHub where progress of the book can be tracked.
  • It will be in HTML (GitBook) and PDF format.
  • In addition, in the same repository, associated with each chapter, you can find examples of codes, exercises and figures.
  • This also allows you to get feedback through the issues, as someone might suggest changes to a particular chapter or ask about some of the content they don't understand.

At the end of the eighth month, all the chapters can be compiled to form the final document.

Translation methodology:

Using different types of translations technique's such as direct translation, adaptation and reduction as an example to satisfy the challenges of transmitting this important documentation to most people around that are interested on learning.

[FEASIBILITY] Please provide a detailed budget breakdown.

Research, Writing & Editing of the Book 28000 usd

This item covers the expenses related to the research such as courses or credentials

also it´s use to cover Camilo's expenses during the 8 months that he will be working on the creation of the book

Translation & review of the Book in Eng 4800 usd

This item covers the cost of the translation of the book and also the revition

of it by a third party ensuring that the content be deliver in English for the whole English community to use this book too.

Peer review of the Book 5000 usd

This item covers the cost of reviewing the book by two peers also to ensure the quality of the content, this will be done by an academic peer and a graduated from the Plutus pioneer program

Project management 15000 usd

This item covers the cost of management the project from the beginning until the end, getting sure that all the milestones are successfully accomplish such as the research, translation, getting the peers for the review and contacting ICT colleges to introduce them to cardano with this book.

Contingency 4000 usd

In case we experience some problem with volatility and we become unable to manage the risk this item could be very helpful to the execution of the project on adverse situation

Donation of the book to 50 ICT colleges 3050 usd

in Eng & Spa

Donating this book to 50 ICT colleges around the world we intend to impact them by giving them this resource, showing them a learning path to Cardano, Blockchain and the e-Utxo model so their teachers and students can embrace the ecosystem in a comfortable way

Printed book $36 usd and delivery $25 usd by Amazon services

Our team is located in Spain, USA and Chile so we are taking in consideration the wages of their different location to make feasible the use of their time on the project due to the cost of life.

[FEASIBILITY] Please provide details of the people who will work on the project.

Camilo Chacón Sartori is currently a Ph.D. student in artificial intelligence at the Artificial Intelligence Research Institute (IIIA), in Barcelona, Spain. He works in the area of hybrid algorithm design: combining heuristic and Machine Learning techniques, resolving combinatorial optimization problems.

He loves teaching and has participated in various Meetups giving face-to-face or online talks on technical topics, either in Chile or Spain. He also shares his knowledge on various social networks, for example, QuoraES and Twitter.

Some achievements:

  • He is the author of the first book in Spanish that touches on the theoretical (lambda calculus) and applied aspects of functional programming; using three programming languages: Racket, Haskell and Python. Book: Computación y programación funcional, editorial Marcombo, 2021.
  • He is the author of the first book released in Spanish that details the lives of 12 great computer scientists from history. All of whom were winners of the ACM Turing Award. Book: Mentes geniales. La vida y obra de 12 grandes informáticos, Editorial Marcombo, 2021.
  • He was chosen as Quora's "Featured Writer in Spanish" for four years in a row (2018-2021) for his more than 800 answers on computer science.
  • Author of the podcast: Había una vez un algoritmo…, which deals with technical, scientific and philosophical issues of computing. The podcast has more than 85 episodes, and over 10 interviews with different academics and professionals from the field.
  • He is also the administrator of the space “Había una vez un algoritmo…” on Quora in Spanish, which, to date, has more than 23 thousand followers.
  • He obtained his bachelor's and master's degrees in computer engineering, receiving the highest distinction in both degrees.

More information: <http://camilochacon.com/>

Rodrigo Oyarzún Acuña is currently an SPO for the Cardano blockchain since the beginning of Shelley (July 2020). Currently working on the Cardano Spanish speaking community trough different social media platforms like Twitter, YouTube, Facebook, Discord, etc. creating content and doing networking between different services that work on the Cardano Blockchain.

He engages with people in different types of meet up activities on the internet and in Santiago of Chile, were the community shares knowledge and business opportunities between them.

some achievements:

  • Worked at an American corporation developing business managers for the Latin American region in countries like Peru, Colombia & Chile. Creating a sales team that sold in 2 years over one billion dollars on the Chemicals for the mining industry
  • Created NPO to onboard The Challenge of education in Chile, researching on reason of the failure and presenting solutions to Finance students loans
  • Currently Volunteering as president of an sports club that works with Women, Children and Adults creating a multicultural environment that develop trough the practice of Japanese Fencing, Kendo

Linkedin

Alice Gushue is Bachelors Arts degree from Guilford College, Worked with immigrants and Minorities, ESLT experience working abroad in Latin America. Currently working for an American Company that's creates and translates and content and do SEO for other businesses around the world

She loves learning and Studying Spanish for over 15 years, living in Spain, Ecuador and Chile. She Loves to play the upper bass.

some achievements:

  • Worked with immigration department trough a company that brings help to immigrants with language barriers in USA
  • Worked reviewing content of writers for poems and tales for kids in Washington DC
  • Worked with over 100 different companies writing them content related to them services like blogs, services description and helping them to improve their SEO

Linkedin

Latam Cardano Community

The community supports and and promotes the development of this book and value helping us with the peer review

Latam Cardano Community

And we are collaborating with Ramp up plutus devs for Cardano offering this book to them as official material and references for their courses trough Alkemy's platform, you can read more about their proposal on the link above.

[FEASIBILITY] If you are funded, will you return to Catalyst in a later round for further funding? Please explain why / why not.

After we deliver this book we would love to digitalize this documentation in an online platform that allows students to trace their progress and do classes to assist developers in weekly base. We want to serve the Catalyst community by helping devs to understand in a complete way the benefits and opportunities that e-utxo model offers

[AUDITABILITY] Please describe what you will measure to track your project's progress, and how will you measure these?

At the end of the first month the first & second chapter will be online on Github

At the end of the third month the third chapter will be online on Github

At the end of the fifth month the four chapter will be online on Github

At the end of the eighth month the fifth and sixth chapter will be online on Github

Each completed chapter will be uploaded to a public repository on GitHub where progress of the book can be tracked. It will be in HTML (GitBook) and PDF format. In addition, in the same repository, associated with each chapter, you can find examples of codes, exercises and figures. This also allows you to get feedback through the issues, as someone might suggest changes to a particular chapter or ask about some of the content they don't understand.

Moreover, Github commits will be a key indicator of writing progress.

Reached 30 stars in the GitHub repository in the first 3 months.

[AUDITABILITY] What does success for this project look like?

Cardano attracts high-caliber Developers and developers have ample resources to work on platforms that suit their interests.

The key success criteria for An open source book on Cardano is that no book covers all the prerequisites for learning Plutus (for example, mathematics, basic programming concepts, functional programming, Haskell, etc.).

This book will allow us to fill a gap in learning. It targets people who have never coded before or who do not know functional programming. There is no existing book with this outline. That is, start from scratch to develop smart contracts using Plutus.

[AUDITABILITY] Please provide information on whether this proposal is a continuation of a previously funded project in Catalyst or an entirely new one.

This is an entirely new proposal to the Catalyst Ecosystem.

Community Reviews (1)

Comments

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3m 24s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4m 59s
    Darlington Kofa
0:00
/
~0:00