Skip to content

shard-lab/protocol-camp

Repository files navigation

Learning Blockchain by Implementing Core Concepts

Blockchain is a vast and complex field, making it challenging for developers to get started. Many of its fundamental concepts—such as consensus mechanisms, transaction validation, and state management—are difficult to grasp without direct exposure to their underlying logic. The best way to understand blockchain as a developer is to break down these complex ideas into simplified, hands-on implementations.


Note
This repository is also used as part of Protocol Camp, a Web3 bootcamp in Southeast Asia that focuses on expanding the blockchain ecosystem. Whether you're a participant in the camp or an independent learner, this material will guide you through a structured, hands-on approach to blockchain development. https://protocolcamp.shardlab.com/


Contributing

We welcome contributions from the community! If you're interested in helping improve these learning materials or adding new educational modules, please check out our CONTRIBUTION.md guide. Whether you want to fix a bug, improve documentation, or propose a new learning module, your contributions are valuable in making this resource better for everyone.


Repository Structure

This repository is organized into two main sections:

  • basics/ - Covers fundamental blockchain concepts and implementations, including core principles and chain-specific exercises for Bitcoin, Ethereum, Aptos, and more

  • advanced/ - Explores deeper blockchain topics beyond the basics, such as advanced consensus mechanisms and scripting engines.


Getting Started

  1. Clone the repository:

    git clone https://github.com/shard-lab/protocol-camp.git
    cd protocol-camp
  2. Install dependencies:

    npm install

Now you're ready to explore, modify, and implement blockchain concepts yourself.


Prerequisites

  • Node.js v20.x or later
  • TypeScript v5.6.x or later
  • npm v10.x or later

This repository is meant to be a hands-on learning resource—feel free to experiment, break things, and truly understand how blockchain works by building it yourself.



Happy coding! 🚀