Skip to content

This is where we will post our learnings and progress on learning blockchain.

Notifications You must be signed in to change notification settings

FWDP/learn-blockchain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 

Repository files navigation

FWDP Logo

Let's learn blockchain!

An awesome open-source learning to jumpstart your blockchain learning journey!

Explore the docs » · Visit our Onboard »

Table of Contents
  1. About The Project
  2. Roadmap
  3. Contributing
  4. Showcase Your Learning
  5. Acknowledgements
  6. Contact

About The Project

Inspired by the discussions at the Blockchain Campus Conference held at Mapúa University Makati by The BLOKC on November 25, 2023, the FWDP community has decided to create an open-source learning platform on GitHub for aspiring blockchain engineers.

Assuming that the person has knowledge and experience in frontend and backend web development, below is a focused curriculum to become a junior blockchain developer, as suggested by Bing AI.

  1. Blockchain Fundamentals:

    • Understand the Basics:
      • Learn about blockchain technology, its underlying principles, and how it works.
      • Explore decentralization, consensus algorithms, and distributed ledger systems.
      • Dive into cryptography and its role in securing blockchain networks.
    • Projects:
      • Create a simple private blockchain using a language like JavaScript or Python.
  2. Smart Contracts and Ethereum:

    • Solidity Programming:
      • Master Solidity, the primary language for writing smart contracts on the Ethereum platform.
      • Understand Ethereum Virtual Machine (EVM) and how smart contracts are executed.
    • Token Creation:
      • Build your own ERC-20 token (a standard for fungible tokens) or explore other token standards.
    • Decentralized Applications (DApps):
      • Develop a basic DApp using Truffle or Hardhat frameworks.
    • Projects:
      • Create a crowdfunding DApp where users can contribute and receive tokens.
  3. Blockchain Architecture:

    • Consensus Mechanisms:
      • Study different consensus algorithms like Proof of Work (PoW) and Proof of Stake (PoS).
    • Network Nodes and Validation:
      • Set up your own blockchain node and participate in network validation.
    • Projects:
      • Design a private PoA (Proof of Authority) blockchain network.
  4. Advanced Topics (Optional):

    • Oracles and Interoperability:
      • Explore how blockchain interacts with external data sources using oracles.
      • Learn about cross-chain interoperability.
    • Privacy and Security:
      • Investigate privacy solutions like zk-SNARKs and ring signatures.
      • Understand security best practices for smart contracts.
    • Projects:
      • Build a decentralized prediction market or an identity management system.
  5. Capstone Project:

    • Combine your knowledge from the previous topics to create a comprehensive project.
    • Examples: NFT marketplace, supply chain tracking, or a decentralized voting system.

(back to top)

Roadmap

  • Study Blockchain Fundamentals
    • Learn about blockchain technology
    • Explore decentralization, consensus algorithms, and distributed ledger systems.
    • Dive into cryptography and its role in securing blockchain networks.
    • Project: Create a simple private blockchain using a language like JavaScript or Python.

(back to top)

Contributing

Contributions are the lifeblood of our open source community, transforming it into a dynamic space for knowledge exchange, inspiration, and innovation. Your involvement is not just welcomed but enthusiastically embraced.

Feel free to suggest enhancements by doing the following!

  1. Fork the repository:
    • Begin by forking the repository to your GitHub account. This can be done by clicking the "Fork" button at the top right corner of the repository page.
  2. Clone your forked repository:
    • Clone your forked repository to your local machine using the following command:
    git clone https://github.com/your_username_/Project-Name.git
  3. Make changes and commit:
    • Make the necessary changes to the codebase.
    • Add and commit your changes using the following commands:
    git add .
    git commit -m "Brief description of your changes"
    • Ensure that your commit message follows the standards by using imperative verb form (not past tense).
  4. Push changes to your repository:
    • Push the changes to your forked repository on GitHub:
    git push origin main
  5. Create a pull request:
    • Visit your forked repository on GitHub.
    • Click on the "New Pull Request" button.
    • Set the base repository's branch to the original repository's main branch.
    • Set the head repository's branch to your forked repository's main branch.
    • Create the pull request.
  6. Code Review and Merge:
    • Await feedback and review comments from project maintainers.
    • Make any necessary adjustments based on the feedback.
    • Once approved, a project maintainer will merge your changes into the main repository.

(back to top)

Showcase Your Learning

Goal: Reach 500 points on our Facebook Group and Level 20 on Discord! If you reached it, you'll be eligible to receive the perks of an active Core Plus mentee!

You can start by sharing your learning on these platforms!

On Discord, we recommend posting it in our #💯・100-days-of-code channel!

(back to top)

Acknowledgements

Here are the helpful resources for our blockchain learning journey!

(back to top)

Contact

Facebook Group: https://www.facebook.com/groups/fwdpeers
Discord: https://dsc.gg/fwdp
YouTube: https://www.youtube.com/@filipinowebdevelopmentpeers
GitHub: https://github.com/fwdp
Email: [email protected]
Facebook: https://fb.com/fwdpeers
LinkedIn: https://www.linkedin.com/company/fwdp
Onboard: https://onboard.dev/community/fwdp
Instagram: https://www.instagram.com/filwebdevpeers/

(back to top)

About

This is where we will post our learnings and progress on learning blockchain.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published