/blockchain-developer-exercises-foundations

This is the repository for our Future Learn blockchain developer course

Primary LanguageShell

Become a Blockchain Developer: Foundations

Welcome to the repository for the developer tasks of the Future Learn's open-source course Become a Blockchain Developer: Foundations Edition 🎓.

This course aims at providing a reliable basis for developers to get started in the blockchain and distributed ledger technology domain.

This course is mainly divided into articles and developer exercises, where the articles explain the theoretical foundations behind what is applied in the exercises. To access the articles you will need to sign up on Future Learn. This is a course that you can take and complete at any time (i.e. there are no live classes). Note that there are free and paid access levels for this course. Consult the "Ways to Learn" section of the course page for more information.

Course Outcomes

At the end of this course you will have gained both theoretical and practical knowledge about distributed ledger technologies, where the outcomes of both will be as follows:

Theoretical Outcomes

Reading and understanding the course articles will provide you with the knowledge to understand the key foundational aspects of blockchains and other distributed ledger technologies. In summary you will have learned:

  • What defines a ledger
  • What components make up distributed ledger technologies
  • What exactly is a blockchain
  • How distributed ledgers can be organised in an Unspent Transaction Output (UTXO) or Accounts based method
  • What cryptography underpins distributed ledger technologies

Practical Outcomes

Completing the course exercises will provide you with the foundational practical experience to start creating multi-ledger decentralised applications (mDapps). In summary you have learned:

  • How to interact with multiple distributed ledger technologies (specifically Bitcoin, Ethereum and the XRP Ledger)
  • How to connect to multiple distributed ledger technology networks (specifically the test networks of the previously listed technologies)
  • How to read blocks, transactions and state information from these DLT networks
  • How to add new transactions to these DLT networks

The practical elements of this course are made possible via utilising Quant's Overledger. When new DLT networks are added to Overledger's public version (through new Overledger release versions), the exercises of this course will easily run against any newly connected DLT network via a simple change to one parameter (the location object), as explained later.

Future Courses

Future courses will expand on this course's outcomes to show how more complicated multi-ledger decentralised applications can be built. Currently the second course is scheduled to cover in detail smart contracts, tokens and consensus protocols, whereas the third course is scheduled to cover interoperability and scalability in detail.

Issues, Suggestions & Improvements

Issues related to these exercises can be discussed with your fellow learners in the FutureLearn course discussion boards. Quant technical support can be contacted at support@quant.zendesk.com. Finally, if you have suggested changes, you can raise them in this github repo via pull requests method.

Maintainers

Mainteiner Github Email
Dr. Luke Riley lukerQuant luke.riley@quant.network

Acknowledgements

This course was developed through a collaboration between Quant Network, King's College London and FutureLearn.

Authors have previously worked on related university modules. Luke developed King's College London's Distributed Ledgers and Cryptocurrencies Module and Rafael developed Hyperledger Lab's Open Source Enterprise Blockchain Technologies Course for Universities.