visit
I’m not afraid of storms, for I’m learning how to sail my ship. — Louisa May Alcott
Blockchain articles go stale in three months or so, given how fast the field develops, however I still recommend as a starting point. This article is a true tour de force and was pointed to me by as the best way to get started. You could ignore the rest of my article, and just jump on to Haseeb’s, and you would be fine.
If you go on reading (thank you!) I’ll give the 10 steps I followed and an estimation of the time that each one took me.Implement a python blockchain: 20 hours. It was a fun exercise and I would say that it is essential to know how a blockchain works at a data structure level if later on you are supposed to understand and apply what makes blockchains different from databases. I just did the data structure and a Proof-of-Work mining process to create blocks. Adding application data to the blockchain was trivial and implementing a consensus algorithm was not needed at this stage.
: 8 hours. Great intro into Solidity coding and best practices. Very similar to JavaScript, and you might start to have some doubts on whether you would want to code mission critical software with Solidity right now.
/ remixd / git: 4 hours. Remix is a great starting IDE, especially if you plan to stay more in the back end and can’t be bothered with learning javascript. I found it relatively easy to connect remix with a local folder in my laptop so that I could use git.
: 4 hours. At this point I felt I could code unaided in Solidity, even knowing that it wouldn’t be great quality. You will need to .
Read ICO whitepapers: 8 hours. As a bit of a diversion I read a bunch of whitepapers of blockchain-based applications to understand the use cases and what is going on in the community. I got a feeling that some people want to solve real world problems, some people want a mountain of cash and some people want to crush capitalism and bring on the revolution. I definitely saw some real use cases in between. Some recommended reading would be , , , and .
Solidity Best Practices: 4 hours. At this point I was already aware that smart contracts are immutable and public, so I made a point of learning best practices to save myself future embarrassment and not lose millions from my customers. The tutorial has a lot of good advice, the is very readable and the is an authoritative classic. Please read and use the .Atom / / : 4 hours. Because remix is cool but I wanted a proper IDE in order to make good code.
Unit tests for crowdfund: 12 hours. Truffle allows for unit tests, and I took to these with gusto. I did really learn a lot of Solidity by creating them, enough to ease on my development training and move on to study which blockchain implementations exist and how do they compare to each other.
Create parity test environment: 12 hours. Ethereum is the leading blockchain platform today and I was directed to , which we plan to use extensively at . Installing Parity made me understand the Ethereum ecosystem much better, and that you are not to expect user friendliness, even if nowadays you get Docker images for everything. It felt like installing Linux around the turn of the millennium.
Read articles about blockchain implementations: 8 hours. At this point I clearly understood the difference between the blockchain implementations (, , , , , etc…), which run at a lower layer than all the other applications that you’ll see in ICO whitepapers. This comparison of blockchain platforms made me understand the different use cases for public and consortium implementations, how to ensure privacy, what is finality, how performance depends on the consensus algorithm chosen and the maturity of the different options you can use to build your solution.
If you got here, congratulations! Now you know enough about blockchain to know that you know almost nothing. Which is still more than most of the people out there, so don’t feel bad.