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/
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.
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.
-
Clone the repository:
git clone https://github.com/shard-lab/protocol-camp.git cd protocol-camp
-
Install dependencies:
npm install
Now you're ready to explore, modify, and implement blockchain concepts yourself.
- 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! 🚀