Skip to content

Step by step procedure to on-board a new developer to the community

License

Notifications You must be signed in to change notification settings

buidlrs/onboarding

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

Onboarding

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

1. Learn the basics of cryptography and networking

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

2. Learn the Bitcoin basics

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

3. Create and deploy your first decentralized application (DApp)

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.

4. Learn the basics of the blockchain topics that we are working on

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.

5. Have a look at the Trello board and get involved in a project

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.

Preferred reference materials

Books

Blogs

Courses

Youtube channels

Whitepapers

Also, here is a sea of resources accumulated by blockchainedindia

Contribution guide

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.

  1. Fork the repo on GitHub
  2. Clone the forked project to your own machine
  3. Commit changes to your own branch
  4. Push your work back up to your forked repo
  5. Submit a Pull request from the forked repo to our repo so that we can review your changes

About

Step by step procedure to on-board a new developer to the community

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published