R3 Corda Blockchain Training: CorDapps Development

COURSE OUTLINE:

Description

Learn how to write CorDapp using secure programming guidelines. This class will exclusively cover Corda nodes, Corda transactions and Corda tools through a comprehensive deep dive.

This course has been meticulously put together and taught by world-class subject matter experts. The live training expert will spend over 50% of the time on labs�covering the steps to integrate/develop an application with R3 Corda. There are use cases, proof of concepts, as well as interactive hands-on labs.

Audience

This course is designed for programmers and developers.

Prerequisites

This course is highly technical and requires students to be comfortable with coding. To prepare for the class you must:

  • Provide their own computer (Mac/PC/Linux) (note that all labs are hosted in a virtual environment)
  • Have basic programming skills of C/C++ or Java Script
  • Understand blockchain concepts

Learning Objectives

Overview of Corda

  • Principal features
  • Concepts in Corda
  • Consensus mechanism
  • Business logic
  • Comparisons/Main differences between Corda and Ethereum

Introduction to CorDapp

  • What is a CorDapp?
  • How to write a CorDapp
  • How to upgrade a CorDapp to a new version
  • Corda API
  • Object serialization
  • Secure programming guidelines

Corda Nodes

  • Local nodes and how to execute them
  • Deploying a Corda node
  • Node configuration guidelines
  • The Client RPC
  • The Shell
  • Node database system
  • Node administration basics

Corda Ecosystem

  • Setting up the network
  • How to permission the network
  • The Network Map
  • Versioning process

Programming Smart Contracts in Corda

  • Writing a smart contract
  • Writing a smart contract test
  • Upgrading smart contracts
  • Integration testing

Client RPC API and Smart Contracts Coding

  • Overview of client RPC API
  • Whitelisting classes from CorDapp

Transactions

  • Overview of Corda transactions
  • Life cycle of Corda transactions
  • Gathering inputs
  • Generating commands
  • Generating outputs
  • Completing the transactions
  • Committing transactions

Modeling Business Processes

  • Overview of workflows in Corda and continuation
  • A 2-party trading workflow
  • Suspendable functions
  • White-listed classes and the Corda nodes
  • Initiating the workflow
  • How to implement the seller and the buyer
  • Flow sessions

Corda Tools

  • Node Explorer
  • Network Simulator
  • How to implement Corda Network on AWS Marketplace
  • Building a Corda VM from the Azure Marketplace
  • Load testing in Corda networks

Troubleshooting the CorDapp

  • JVM issues
  • IDEA issues
  • Slow localhost issues