It's a known fact that the learning pattern varies from individual to individual. So, we believe that the best way of learning is self-learning under the guidance of a mentor. The task of the mentor is to guide you to make best decisions and overcome the tricky situations.
This documentation points out a few of the prerequisites to contribute and start working on any of the projects of the community. This foundational knowledge will help to smoothly onboard a new developer to the community
An overview or high level understanding of a few cryptographic primitives:
- Symmetric and asymmetric(public key) cryptography
- RSA and Elliptical curve cryptography
- Cryptographic Hashing
- Digital signatures
Networking basics:
- TCP/IP, OSI models
- Basics of distributed computing and peer-to-peer networking
- Basics of socket programming and web development
High-level understanding of few of the Bitcoin concepts
- Bitcoin full nodes and mining nodes
- Bitcoin addresses
- Bitcoin exchanges
- Bitcoin wallets
- Hot, cold and paper wallets
- Bitcoin transactions (Demo)
- Bitcoin block explorer
- Bitcoin economics
Deep dive into a few of the Bitcoin concepts
- Setting up a bitcoin node
- Interacting with the bitcoin blockchain
- Keys, Addresses and Wallet
- Bitcoin mining and consensus algorithm (Proof of Work)
- Bitcoin exchanges and mining pools
- Basics of bitcoin transactions and scripting language
Write your first smart contract and deploy the DApp. Although you can choose any of the platforms such as EOS, Tron, NEO to create your first DApp, Ethereum platform is preferred for the beginners.
- Ethereum background
- Basics of Ethereum
- consensus algorithm
- Ethereum accounts, EVM, networks
- Ethereum smart contracts
- Building and deploying a Solidity contract
- Setting up Ethereum development environment with Web3.js libraries, Metamask and truffle development framework
- Create an "Hello World" smart contract
Next steps: Create a simple voting application following this tutorial.
Although we are always open to any new topics and innovative ideas, we want to be the early adopters of blockchain scaling through state-channels and Libra blockchain. So, our initial projects in the community will be around Lightning Network, Raiden Netowrk and building applications on top of Libra blockchain. Please have a look at the other usecases on the Trello board if you are not interested on these projects.
- We will create a dedicated repository for research where we will maintain research and learning materials for these topics.
- We will create Trello projects and tasks for these and assign it to anyone who is willing to work on it.
Join the Trello board with this invitation
- The board consists of a few early stage ideas (Marked as PARKED). But it will evolve with your inputs and contributions
- The TODO projects are ready to be picked. So, feel free to discuss this on Telegram if you find it interesting. We will also assign a mentor for each of the projects.
- Also feel free to add any usecase to the PARKED list.
- Bitcoin and Cryptocurrency Technologies - Princeton University
- Ethereum Developer: Build A Decentralised Blockchain App - Udemy
Also, here is a sea of resources accumulated by blockchainedindia
This is just a preliminary draft of the onboarding guide. You are welcome to update this documention and add any learning material to this repository that you think will be usefull to the community. Follow this simple guide to contribute to the repository.
- Fork the repo on GitHub
- Clone the forked project to your own machine
- Commit changes to your own branch
- Push your work back up to your forked repo
- Submit a Pull request from the forked repo to our repo so that we can review your changes