CODE | DLT5401 | ||||||||||||
TITLE | Smart Contract and dApp Programming | ||||||||||||
UM LEVEL | 05 - Postgraduate Modular Diploma or Degree Course | ||||||||||||
MQF LEVEL | 7 | ||||||||||||
ECTS CREDITS | 10 | ||||||||||||
DEPARTMENT | Centre for Distributed Ledger Technologies | ||||||||||||
DESCRIPTION | In this unit students will be exposed to issues of distributed ledger technologies (DLT) and their applications in real life. This unit will cover different smart contract languages and platforms which may include Ethereum, Hyperledger, Cardano, Neo and any other smart contract platform. The following main topics will be handled in the study-unit: - Introduction to distributed ledger technologies, how they enable smart contracts and opportunities brought about with this technology; - An introduction to smart contract platforms, an overview of how they are implemented and related concepts including: a one world computer, virtual machines, and contract structures; - Smart contract language features; - Blockchain and DLT specific features; - Interacting with smart contracts; - Testing smart contracts; - Deployment and debugging tools; - Practical sessions demonstrating the design and implementation of various smart contracts; - Error, security and privacy considerations; - Handling of cryptocurrencies; - Smart contract design patterns; - Off-chain supporting web based decentralised application (dApp) development; - Public and private based DLT systems; - Overview of different programming models and systems. Study-unit Aims: - The aim of this unit is to provide students with a more detailed understanding of distributed ledger technologies and the programming of smart contracts and related decentralised applications. - The students should be able to understand the different forms of smart contract approaches and select an appropriate one for a given use-case. - In addition, given the risks inherent in smart contracts, an emphasis will be given to appropriate design of smart contract solutions and building in required safeguards necessary in the particular technology. Learning Outcomes 1. Knowledge & Understanding - Given a distributed ledger architecture the students will be able to demonstrate a smart contract definition in such an architecture; - Students will be able to compare different solutions for public and private ledger technologies and explain and justify the ideal choice for a particular use case; - Given a use case, students will be able to report and justify appropriate a smart contract solution and functionality; - Students will be able to analyse and report potential vulnerabilities of a given smart contract and propose appropriate design measures to minimise such vulnerabilities. 2. Skills By the end of the study-unit the student will be able to: - Discuss and critically analyse different distributed ledger techniques and smart contract platforms and the trade-offs inherent in them; - Identify scenarios where the different types of techniques are best suited; - Design smart contract solutions appropriate for a particular problem; - Set up their own smart contract platform and related decentralised application. Main Text/s and any supplementary readings: Main - Song, J. (2019). Programming Bitcoin: Learn how to Program Bitcoin from Scratch: O/Reilly. - Antonopoulos A. M., & Wood, G. (2018). Mastering Ethereum: Building Smart Contracts and DApps: O'Reilly. Supplementary - Introducing Ethereum and Solidity: Foundations of Cryptocurrency and Blockchain Programming for Beginners ISBN-13: 978-1484225349 Further research papers of cutting-edge smart contract programming languages will also be given to students. |
||||||||||||
STUDY-UNIT TYPE | Lecture and Independent Study | ||||||||||||
METHOD OF ASSESSMENT |
|
||||||||||||
LECTURER/S | Joshua Ellul (Co-ord.) Gordon J. Pace |
||||||||||||
The University makes every effort to ensure that the published Courses Plans, Programmes of Study and Study-Unit information are complete and up-to-date at the time of publication. The University reserves the right to make changes in case errors are detected after publication.
The availability of optional units may be subject to timetabling constraints. Units not attracting a sufficient number of registrations may be withdrawn without notice. It should be noted that all the information in the description above applies to study-units available during the academic year 2023/4. It may be subject to change in subsequent years. |