Introduction
This is a complete pathway that guides developers through building scalable decentralized applications targeted at the Celo network. It’s no doubt there are a huge number of developers who are unable to fathom the best platform suited for their applications. The goal of any developer is to command usage for their application which is a function of the value derived by the user. This guide is prepared to equip developers with the right skills they need to build scalable applications while maintaining decentralization and security. Keeping the barriers to entry low for users of a dApp is critical in ensuring a progression toward such an application’s success.
Motivation
As a Layer1 blockchain grows in transaction volume, the tendency to accommodate the large inflow reduces. Consequentially, this dramatically hinders performance as decentralized applications deployed on this blockchain cannot fulfill their users’ needs. It then becomes pertinent to seek solutions such as Layer2’s
Objectives
Upon completion of this pathway, learners will be able to:
-
Gain fundamental knowledge of Celo’s Layer1 and Layer2 solutions with deep insights into their components and structures.
-
They will be able to identify clearly the solution layer that best fits the need of their application.
-
Build scalable applications without sacrificing security and decentralization
Section1: In-depth introduction to Layer1
Introduction to Layer1 solutions
We will start by understanding the Layer1 solution as the base blockchain, its structures, and the underlying concepts. The goal is to prepare the reader’s mind by understanding the deeper theoretical concepts of the solution that precede Layer2
Expanding on Layer1 blockchain examples
In this tutorial, we will discuss briefly the various Layer1 blockchain examples and pick one to provide more information emphasis, and consensus mechanism.
Layer1 scaling solutions
Discuss the blockchain scalability including the various scaling options available to Layer1 blockchain, their pros and cons
Elaborating on Segwit as a Layer1 solution
This path will further examine the scaling solutions available to Layer1 by selecting and diving deeper into them. We will each expand on Segwit and Sharding examining how they improve Layer1 performances
Elaborating on Sharding as an alternative Layer 1 solution and Modular design
This path will further examine one of the scaling solutions available to Layer1 by selecting and diving deeper into it. We will each expand on Segwit examining how it improves Layer1 performances. Lastly in this section, we’ll talk about the modular design of the L1
Section 2: Layer2 blockchain: Celo Layer2 solution
Starter guide to understanding Layer2 blockchain solutions
Readers will be introduced to Layer2 blockchains, concepts, and why it is needed and we go a little deeper into the architecture and comparisons between Layer1 and Layer2 blockchains. We’ll also end this part with the Celo Layer2 solution
In-depth overview of the categories of Layer2 blockchains: Diving deeper into Layer 2 off-chain scaling
An in-depth overview of the categories or types of Layer2 blockchains
Diving deeper into Layer2 architectural design and off-chain scaling.
Sidechains
In-depth examination of Layer2 solution types
Going in-depth into the components/categories of the Layer2 solutions, we will begin by vividly examining what Sidechains are.
In this part, we will focus on creating a CLI DApp to implement Sidechains on Celo. Note that this part will not have a user interface
State channels
In-depth examination of State channels
This is a comprehensive tutorial on what state channels are
In this part, we will focus on creating a CLI DApp to implement State Channels on Celo. Note that this part will not have a user interface
Payment channels
A detailed guide on what payment channels are
In this part, we will focus on creating a CLI DApp to implement Payment channels on Celo. Note that this part will not have a user interface
Section 3: Continuation of Layer2 solution types
Optimistic Roll-ups
A detailed guide on what Optimistic roll-ups are
In this part, we will focus on creating a CLI DApp to implement Optimistic Roll-ups on Celo. Note that this part will not have a user interface
Zero-knowledge Roll-ups
In this tutorial, I will introduce you to the Zero-knowledge solution and its relevance.
Lightning Network
Learn the comprehensive details on the Lightning network, and how important it is in the Celo ecosystem
Layer2 blockchain comparison
In this part, we’ll look at how some of the Layer2 blockchains compare such as transaction fees and capacity, finality, etc. And the drawbacks to Layer2 scaling
Section 4 : Layer2 for Celo : Building for Layer2
The blockchain Trilemma:
This tutorial will take a quick look at the three arms of the blockchain trilemma - Scalability, decentralization, and Security. I will explain each of them detailing why each concept is necessary and paramount to decentralized applications
We are building a simple full-stack gaming dApp using the Celo SDK, and this path will cover writing the Smart contracts logic for the game.
This tutorial is dedicated to full testing of the contracts written in the previous tutorial to ensure the game logics function as expected.
Building interactive UI
For the gaming smart contracts, we will build a frontend and deploy it on a decentralized hosting service where anyone can interact with it.