CDLA - Corda Distributed Ledger Architecture

Overview

Duration: 3 days

This instructor-led 3-day R3 Corda Architecture training is for technical leaders who need to make decisions about architecture, environment, and development platforms using the R3 Corda platform.

Objectives

  • Fundamental R3 Corda concepts
  • How R3 Corda works
  • Types of R3 Corda applications
  • R3 Corda use cases
  • How R3 Corda compares to traditional financial software development
  • How R3 Corda compares to Bitcoin
  • How R3 Corda compares to Ethereum
  • How R3 Corda compares to Hyperledger
  • R3 Corda app structure
  • R3 Corda components (states, transactions, contracts, notaries, oracles, and flows)
  • Designing R3 Corda solutions
  • Developing R3 Corda solutions
  • Unit testing R3 Corda solutions
  • R3 Corda Client RPC and REST APIs
  • R3 Corda infrastructure (identity, TLS, AMQP, Artemis, Quasar)

Content

Chapter 1: Getting Started with R3 Corda

  • Introduction
  • Java, Kotlin, and IntelliJ Backgrounder
  • Java Learning Resources
  • Kotlin Learning Resources
  • IntelliJ Learning Resources
  • Financial Backgrounder
  • Cryptography Basics
  • Cryptographic PRNG Algorithms
  • Cryptographic Hash Algorithms
  • Symmetric Cryptographic Algorithms
  • Asymmetric Cryptographic Algorithms
  • Digital Signature Algorithms
  • PKI, SSL/TLS and X.509
  • Authentication and Authorization
  • Firewalls and DMZs
  • Byzantine Fault Tolerance
  • PoW Consensus (Proof of Work)
  • PoS Consensus (Proof of Stake)
  • Other Consensus Mechanisms
  • Secure Enclaves
  • Merkle Trees
  • Distributed and Decentralized Ledgers
  • Ledger Terminology
  • Centralized Database Issues
  • Blockchain, Consensus, Immutability, and Trust
  • The UTXO Model
  • Account Reconciliation
  • R3 Corda vs Bitcoin
  • R3 Corda vs Ethereum
  • R3 Corda vs Hyperledger
  • Corda Peer-to-Peer Networks
  • Peer-to-Peer (P2P) Network Architectures
  • Network Protocols: TLS and AMQP/1.0
  • Corda Nodes and Network Topology
  • R3 Corda Network
  • Doorman Authentication Service
  • DemoBench

Lab 1: 

  • DemoBench App
  • Launch DemoBench
  • Create Notaries
  • Create Nodes
  • Launch Node Explorer
  • View Corda Network
  • Create, invoke, and view Transactions
  • Query data in Vaults
  • Add and use custom CorDapps

Chapter 2: Intro R3 Corda Architecture

  • CorDapp Scenarios
  • Corda Whitepapers
  • Corda Components
  • States
  • Vaults
  • Contracts
  • Attachments
  • Commands
  • Transactions
  • Notaries
  • Flow Framework

Lab 2: 

  • Hello World Tutorial
  • Use the R3 CorDapp Template
  • Explore States
  • Explore Contracts
  • Explore Commands
  • Explore Transactions
  • Explore Flows

Chapter 3: Intro to Corda Programming

  • Explore CorDapp project structure
  • Write Contracts
  • Write Transactions
  • Write Flows
  • Use the client RPC API

Lab 3: 

  • R3 Example CorDapp Tutorial
  • Download the R3 Example CorDapp
  • Explore the example IOU Contract
  • Explore the example IOU Sate
  • Explore the example Flow
  • Interact with the example CorDapp

Chapter 4: Advanced R3 Corda Architecture

  • Sub-Flows
  • Time Windows
  • Oracles
  • Transaction Tear-Offs

Lab 4: 

  • R3 CorDapp Samples on GitHub
  • Explore the "Yo!" example
  • Explore the "CordaChat" example
  • Explore the "Heartbeat" example

Chapter 5: Advanced Corda Programming

  • Code Style Guide
  • Unit Testing

Lab 5: 

  • R3 Corda Training Code Example
  • Use the R3 CorDapp Training Code Example for Unit Testing
  • Implement States and State Unit Tests
  • Implement Flows and Flow Unit Tests

Chapter 6: R3 Corda Infrastructure

  • Client RPC and REST APIs
  • Object Serialization and AMQP over TLS
  • Artemis Message Queuing Middleware
  • Quasar and Asynchronous Programming
  • Corda Deployment

Lab 6: 

  • Community Corda Samples
  • Explore the "Delivery vs Payment Asset Transfers" example
  • Explore the "Property Listing" example
  • Explore the "Insurance Claim" example
  • Review

Audience

Who interested in Corda Distributed Ledger Architecture 

Prerequisites

Basic Java Programming Skills

Certification

This course is not associated with any Certification.

Schedule

Show Schedule for: