Skip to main content
  • Special Offer: Unlock all our blockchain courses with B9lab ONE!

  • Learn more

Corda Developer Course - November

Enroll Now!

Course Number

course-data-number

Classes Start

course-data-start

Classes End

course-data-end

Price

course-data-price

Workload

6 Weeks
8-12 hours per week

Recommended Experience

1+ Years as a Developer. Java or Kotlin, JavaScript, HTML, CSS, git and Linux

Requirements

A computer with at least 8 GB RAM
and 20GB free hard-disk space

About this Course

Corda is a distributed ledger technology and smart contract platform designed for business and enterprise.

It is one of the few toolkits that allow companies to create production-ready private blockchain networks right now. We’ve seen it used for insurance, supply chain management, and settlement, as well as in other use cases and proofs of concept.

This online course introduces Corda and guides students through the entire system. Students will learn the precise challenges Corda is designed to solve and how Corda compares to other leading blockchains and DLT platforms.

Participants will learn how to design and build applications for Corda networks including the tools, language, thought process and service interfaces. Participants will complete hands-on projects as they acquire the full body of skills needed to pursue enterprise-class projects on Corda.

Curriculum

General Programming

This optional module addresses programming basics to help new users get acquainted with unfamiliar tools and concepts.

  • Introduction to IntelliJ for those who don’t know
  • Running virtualised Linux on a non-Linux machine
  • Linux survival skills for new users
  • Java, Kotlin and Object-Oriented Programming

Blockchain Foundations and Introduction to Corda

This module focuses on the basics of blockchain technology and compares leading blockchains and DLT platforms. This is a refresher intended to provide context for participants who know and a clear introduction for those who are new to this paradigm.

  • What is blockchain?
  • How do P2P systems operate?
  • The most prominent consensus mechanisms
  • Public, private and consortium networks
  • How do smart contracts work?
  • Key cryptography concepts
  • Comparing leading blockchain platforms
  • Why Corda? Design goals and comparison to other platforms

Getting to Know Corda

Corda Distributed Ledger Technology introduces many new concepts that challenge traditional approaches to system architecture. Discover the Corda paradigm, get acquainted with the network components and application concepts and learn to think about applications the Corda way.

  • What are states and the vault?
  • What are contracts and what are their roles?
  • How are they shared across the network?
  • How is privacy achieved in Corda networks?
  • What are input and output states?
  • How do states relate to contracts and verification?
  • How do flows coordinate counterparties?
  • What services are available inside the nodes?
  • What services are available from the network?

Up and Running with Corda

This deep dive leads participants through the process of getting started with Corda and designing contracts. Participants learn about contracts, the different types of state, how Corda stores state history in the data vault and how states are shared across Corda networks.

  • Install the developer tools, start the developer network and run example apps
  • The structure of state instances, state contract references and history
  • The participant list and the system of signing keys
  • User-defined fields and verification
  • Linear states, ownable states and state grouping
  • The three types of constraints
  • Wrapping contract states in transaction states
  • Encumbrances and state consumption
  • Testing Contracts with LedgerDSL

Transactions, Flows and APIs

Participants learn the details of transactions and flows on Corda networks, including proposals, freezing transactions, transaction finalisation and the Corda Transaction Builder. We unpack network composition, node internal services and reveal how CorDapps are customisations of node behaviour.

  • The Transaction Builder, input and output states and the command wrapper
  • Using timestamps in Corda and the Notary service
  • Adding items to transactions with the Transaction Builder
  • Wire Transactions, Signed Transactions and Ledger Transactions
  • Built-in flows, designing flows & sub-flows,
  • Tracking processes, handling exceptions and suspending flows
  • Key considerations for designing flows
  • Node internals, CordaRPCOps and the ServiceHub
  • The vault, key management service, network map and map cache
  • Special treatment of time in Corda
  • Designing networks building a developer network
  • Registering APIs and Flows and using plugins
  • Changing the Notary and DataVending
  • Building a UI
  • Testing API Endpoints

Project Work

Students will create a project that demonstrates key Corda features used in the intended way. Students add functionality as they progress through important concepts and techniques. The completed project is an intricate and realistic Cordapp that works with cash, debt and other contracts, and facilitates flexible, potentially complex settlement agreements across multiple currencies and instruments. Along the way, students will learn about:

  • States, contracts, flows and constraints
  • Currency, debt and schema definitions
  • Including executable code and legal prose in transactions
  • Finding, substituting and aggregating assets in transaction execution
  • Flows for swapping currency and debt instruments
  • Test-driven development of contracts and flows
  • Building Cordapp APIs and UIs
  • Using Oracles to fetch market prices and sign transactions
  • Creating time-based quotes, partial payments and interest in debt contracts
  • Node-to-node requests for information and access control

Teaching & Communication

We offer a dedicated Slack channel where you can collaborate with your classmates and instructors. Expert instructors engage in active tutoring to guide you through the course and participants are encouraged to help one another.

Our instructors mentor you throughout the course duration and during the exam period to clarify course content and help you reach your individual learning objectives at your own pace.

Your course team

Xavier Lepretre Image

Xavier Lepretre

Xavier is a software and infrastructure engineer. Over the past 15 years, he has coded, deployed, customised, troubleshot, and supported various software systems. He has also guided, educated, taught, and coached customers across Asia. Xavier used to be based in Thailand and Singapore. For more than four years now, he has been a keen member of the blockchain community.

Rob Hitchens Image

Rob Hitchens

Rob has worn many hats in his extensive IT career including experience designing, constructing, implementing and operating innovative software solutions, developing training programs and supporting online education platforms. Rob has been dabbling in blockchain technology since the early days and quickly recognised the disruptive potential of Smart Contracts and decentralised apps. Since 2016, Rob has been absorbing all things related to Smart Contracts and supporting developers on their quest to master this technology.

Course Duration

This is a 6-week course with new content released every week.

The course is designed to be flexible and self-paced. That means you don’t have to be online at a specific time and can study the material whenever it fits best into your daily routine.

Certification

B9lab awards certificates to participants who pass the final exam with a grade of 80% or higher. This certificate is publicly verifiable on the Ethereum blockchain.

You can see how B9lab certification works at the B9lab Certification Center.

Like what you see?

We'd love to have you on the course!

Enroll