Hi
I'm Chirag Maliwal, I'm 21 and I'm taking part in web 3.0 revolution as a developer. ;)
Before
I was normal software developer in an IT company. When my project end, I got great opportunity.
Choice between continuing python dev career or reskilling into ethereum blockchain. Before this moment, I was talking with some 'blockchain guys' and reading some articles from various sources.
I could write about reasons of my choice, but it's obvious.
Start
I started full time reskilling my blockchain knowledge and watched some vedios and read some articles.
It gave me some overview how blockchain works. Why it's immutable etc.
Afair, next step was some Ethereum development part. I purchased two books from packtpub
During
later, my mentor has send me article about Ethereum Virtual Machine (EVM). It was first article in serie 'Diving Into The Ethereum VM' (ofc link : https://blog.qtum.org/diving-into-the-ethereum-vm-6e8d5d2f3c30).
After
3-4 weeks(?) full time + still learning in spare time I was able to:
Write some Ethereum smart contracts in Solidity
Test contracts
Develop basic dapps (app ==> dapp - decentralized application) using truffle
Run own Ethereum node connected to network, running private blockchain, mining.
Deploy contracts on test/main net
Create own ERC20 token (ERC20 is the most popular token interface, token type), even with some ICO.
Generally frontend of distributed application is build with the same stack as 'normal' app. The Difference is backend connection. Instead of making e.g. REST requests to some servers, it connect with blockchain node. Connection is provided by web3 provider which connects with local running node (localhost:port) or totally external public node (www.some-node.com). Truffle framework makes interaction with smart contract easier. Truffle also can be used in testing. For me, the best way to test smart contracts is to write tests in JavaScript (even better, TypeScript) and interact with contracts by Truffle framework.
Prerequisites
I'm programmer for a 1.5 years. Before I started learning blockchain, I already have some stuff done.
Web application programming.
Chrome extension development
Basics frontend skills, basics JS es6+, TS, node.js environment.
Currently
When I hang out with my friends, even non-technical, I'm trying to educate them. Ofc I'm also trying to not be a nerd or something like this, but my friends should know that bitcoin is more than magic cryptocurrency used to buying drugs and paying for murders XD I'm glad, when some of them ask me after all about this.
It sounds pompous but It's revolution, I'm taking a part in this revolution and I’m fucking proud about this.
Motivation is to give example how to get started with dapps development. Ofc it’s only my example, not the best way ever to become blockchain god :)