Corda is a Distributed Ledger Technology to be used by businesses, such as financial institutions, to keep a shared ledger of transactions and thus removing the need for the involved parties to constantly check that each of their books are in line after interacting with each other. Corda is designed to removes the need for all parties on the Corda network to know about each and every transaction, as only those involved are interested in them. Here is an example that shows how Coda works:


When a business or financial institution, a bank for this example, transfers money from a client’s account to the receiver’s account in another bank both must check that what was sent was valid, that the funds from the client have been sent and finally that they were received correctly. Ensuring that the funds have decreased in one account and increased in the other requires multiple checks from both sides of the transaction as they need to be 100% sure that money hasn’t magically disappeared or created out of thin air. Furthermore, a number of these checks are done manually, requiring even more time and effort to ensure consistency.




Learning Objectives

Intro to Corda

  • Understand the overall architecture, key concepts and components of Corda


Getting Started

  • Learn how to set up your development environment for running and writing CorDapps

States

  • Understand how to model shared facts and agreements on the ledger

Smart Contract development in Corda

  • Use test-driven development to create smart contracts controlling the evolution of the ledger

Transactions

  • Learn about the transaction lifecycle, and how transactions are used to propose ledger updates

Flows

  • Use our flow testing framework to develop flows allowing Corda users to automate common business logic

Corda Node

  • Learn how the node is designed, what it can do, and what it can’t. Learn what services/APIs the node offers

Corda Network

  • Understand how a Corda network is structured and how data flows between nodes on the network

Other topics

  • Review of Java programming and Kotlin and IntelliJ
  • Review of peer to peer networks
  • Review of Notaries and consensus
  • Review of Coda tools such as Corda Network Builder, Network Bootstrapper, DemoBench, and Node Explorer



Topics and Subtopics


The below is the outline for this course


1- Coda for blockchain development

  • What is Coda
  • What is a distributed ledger
  • How Corda is different from Ethereum
  • Corda versus Hyperledger



2- Review of Java programming as well as Kotlin and IntelliJ

  • Review Java programming language
  • Setup Kotlin development environment
  • Setup IntelliJ development environment


3- Review of Corda key concepts 

  • The Network
  • The ledger
  • States
  • Transactions
  • Contracts
  • Flows
  • Consensus
  • Notaries
  • Vault
  • Time-windows
  • Oracles
  • Nodes
  • Transaction tear-offs
  • Trade-offs
  • Deterministic JVM


4- The peer to peer network 

  • Network overview
  • Identity and the permissioning service
  • The network map
  • Message delivery
  • Serialization, sessioning, deduplication and signing



5- Run and write Corda DApps 

  • What is a CorDapp?
  • Getting set up for CorDapp development
  • Running the example CorDapp
  • CorDapp samples
  • Structuring a CorDapp
  • Building and installing a CorDapp
  • Building CorDapps against a non-release branch
  • Debugging a CorDapp
  • Versioning


6- Notaries and consensus 

  • Comparison to Nakamoto block chains
  • Algorithmic agility
  • Validating and non-validating notaries
  • Merging networks
  • Guaranteed data distribution


7- Corda Contracts and Transaction Flow 

  • Writing a contract
  • Writing a contract test
  • Upgrading contracts
  • Integration testing
  • Building transactions
  • Writing flows
  • Writing flow tests
  • Writing oracle services


8- Review of essential Corda tools

  • Corda Network Builder
  • Network Bootstrapper
  • DemoBench
  • Node Explorer



Requirements

Good knowledge of Java programming as well as basic knowledge of Linux commands is required.

If you are not familiar with blockchain technology, taking Intro to Blockchain Technology course is highly recommended.




Related Courses




Complete Training Bundle

If you are serious about becoming a pro blockchain specialist, you should enroll in our Complete Blockchain Development Training. This bundle covers all essential and practical topics related to blockchain design and development. For $290 monthly subscription, you can have access to 300+ hours of hands-on project-based training covering all courses related to blockchain technology like Hyperledger, Ethereum, Solidity, Blockchain Security, Corda R3 and more. Click here to learn more.




Private Tutoring Classes

To take skills you learn from this course to the next level, taking the Coding Bootcamps schooltutoring classes are highly recommended. It is also a great opportunity to discuss your questions and problems related to this course with an experienced instructor:




What Is Next?

After finishing this course, you can enroll in any of following classes:




Recommended Free Courses

If you are new to the IT or programming, we suggest the following free courses:



Select a pricing plan and sign up

Jim Sullivan- MS, MBA and IBM Master Instructor

Jim Sullivan- MS, MBA and IBM Master Instructor & Certified Corda Developer


Jim is a senior blockchain consultant and developer at DC Web Makers. He has a Bachelor’s Degree in Electrical Engineering and a Master’s Degree in Computer Science along with an MBA. He has been a practicing software engineer for 20 years. Currently, at DC Web Makers, he leads an expert team in Blockchain development, DevOps, Cloud, application development, and the SAFe Agile methodology. He is an IBM Master Instructor. He is a Blockchain professional, and a MultiChain partner. He is also an expert in HyperLedger, Ethereum, Corda, and is architecting and developing Blockchain-based web products. He has also taught blockchain courses for companies such as O’Reilly Media. His other skills are as follows:

  • Amazon Web Services (AWS) partner, and administrator.
  • Multichain, Corda, Hyperledger Blockchain partner.
  • HealthCare Blockchain Certified
  • Certified Scaled Agile Program Consultant (SAFe SPC): Certified by the Scaled Agile Institute.
  • Certified SAFe DevOps
  • Perl Developer, Java developer, Java web developer, and .NET developer
  • Front-end web development with HTML, HTML5, CSS3 and JavaScript
  • Node.JS, PHP, Oracle and MySQL development and administration.
  • WebSphere, Tomcat, Wicket, JBoss developer.
  • Certified Scrum Master: Certified by the Scrum Alliance and Certified Scrum Professional: Certified by the Scrum Alliance.
  • ALM Disciplines: Requirements, Change Management, Development, and Quality.
  • Certified Tool Expertise: UrbanCode, IBM Team Concert, DOORS Next Gen, IBM Quality Manager, ClearCase, ClearQuest, Jira, Rally, SVN, Maven, Hudson/Jenkins, Guacamole, UrbanCode, Chef, Puppet.
  • Certified VMWare Technical Professional.
  • Linux and Windows Administration


Select a pricing plan and sign up