BC-LDG
Blockchain - Building distributed ledger technology with R3 Corda
Description
This two-day workshop will provide a detailed overview of R3 Corda distributed ledger technology, with a focus on the development of Corda DApps. The course is recommended for programmers with a previous blockchain technology background who will be tasked with implementing distributed ledger solutions using Corda DApp.
Outline
Introduction to the R3 Corda platform
- Introduction to blockchain, the consortium of blockchain technologies and use cases
- Overview of different consortium blockchain platforms (Hyperledger, Corda, Quorum, Azure Blockchain, Ripple)
- Introduction to Corda
- Design principles and key concepts
- Ledger, States, Sequences of States, Transactions, Consensus, Flow, Notary
- Development tools and methodologies
- Corda based distributed ledger compatible decentralised service use case design
Introduction to Corda programming
- Detailed overview of Contracts
- Contract interface
- Contract methods
- Commands
- Testing a contract
- Creating Naïve impementation for a trustless service like Corda contract
Implementing contracts and flows
- Constraints (transaction level, value level)
- Typical contract patterns
- Transactions, the TransactionBuilder
- Deployment, implementation
- Introduction to Flow programming
- Further development and extension of the previous implementation with naïve Flow.
Advanced Corda programming
- Advanced Flow programming techniques
- Testing Flow
- Using Notary Services
- Nodes
- API & Pluging
- Improving and extending the previous implementation of the real Corda Dapp application.
Prerequisites
Basic programming skills in Java or Kotlin. As most of the course material is in English, a basic knowledge of English at document reading level is required. Instruction is in Hungarian or English.