Welcome to Project 1 of Chain Rxn (BIB Summer Bootcamp)!
In this project, youโll build a simple blockchain from scratch to understand how blocks, hashes, and chain validation work under the hood. Youโre free to use any programming language youโre comfortable with (C, Python, JavaScript, etc.).
Follow these steps carefully. This guide assumes no prior experience with GitHub, so take it slow and read everything.
- Click the Fork button at the top-right of this page.
- A copy of this repository will be created in your own GitHub account.
- Clone it to your local system using this command (replace
your-username):
git clone https://github.com/your-username/ChainRxn-Project1This project involves writing code to simulate a basic blockchain.
-
Create a Block structure/class with the following:
- Index (block number)
- Timestamp
- Data (message or transaction)
- Previous blockโs hash
- Current blockโs hash (can use a simple/fake hash)
-
Create a Blockchain class or logic that:
- Starts with a Genesis block
- Adds new blocks
- Validates the integrity of the chain (check for tampering)
- Add Proof of Work or mining mechanism for added complexity.
gcc blockchain.c -o blockchain
./blockchainIf using another language:
-
Follow the normal run commands for that language.
-
You can submit you solution in ANY PROGRAMMING LANGUAGE
-
Templates have been added for Python and C.
-
Add instructions in your own
README.md
After completing your implementation:
git add .
git commit -m "Completed my blockchain implementation"
git push origin mainReplace
mainwithmasterif your branch is named differently.
โ Verify your changes are visible on your GitHub repository.
Once ready and pushed:
-
Fill out the submission Google Form.
-
Provide your:
- Full Name
- Email ID
- GitHub repo link (e.g.,
https://github.com/your-username/ChainRxn-Project1)
-
Click Submit.
Submit your solution by: 18th June' 25 (EOD)
- Keep your code simple and clear.
- Focus on understanding blockchain concepts, not just coding.
- Document your code with comments or add a small
README.mdinside your repo. - Try not using AI.
We look forward to seeing your first blockchain! ๐