When I talk to other developers who want to start their journey into blockchain, I often get the question: ‘how do I start learning Ethereum?’ There are a lot of excellent sources at hand, so I made this post to quickly sum them up.
Take a look at https://github.com/ethereumbook/ethereumbook. The book is being published soon, but you can read it - for free! - at the Github repo here.
The best test environment, which allows you to set up a local Ethereum node to play around with, is Truffle: https://truffleframework.com. A good tutorial that takes you through the whole process of building a distributed app - or dApp - is: https://truffleframework.com/tutorials/pet-shop.
While building a dApp, you’ll often be using a front-end library to communicate with blockchain, called web3.js. Best to take a look at that too: https://github.com/ethereum/web3.js/. An even better alternative is ethers.js: https://github.com/ethers-io/ethers.js/
Ethereum is often called ‘the world computer’, and at its core are smart contracts written in Solidity. A good Solidity training is https://cryptozombies.io/: you’ll be taken through the concepts of the language step by step, while building your own crypto-game.
You’re a developer, so keep the Solidity docs close while you start writing code: http://solidity.readthedocs.io/en/v0.4.24/
I learned the very basics through this training, and deepened my knowledge by actually writing smart contracts for various projects - for example Databroker DAO.
Hopefully this short list gets you started on your Ethereum journey. Feel free to add questions, remarks or other necessary links in the comment section below. Good luck, and remember: move fast and break things