How to start programming Ethereum as a Javascript developer

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.

Note: since I am a Javascript developer myself, this article is geared towards devs who have at least a basic knowledge of the javascript fullstack environment.

  1. Take a look at The book is being published soon, but you can read it - for free! - at the Github repo here.

  2. The best test environment, which allows you to set up a local Ethereum node to play around with, is Truffle: A good tutorial that takes you through the whole process of building a distributed app - or dApp - is:

  3. 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: An even better alternative is ethers.js:

  4. Ethereum is often called ‘the world computer’, and at its core are smart contracts written in Solidity. A good Solidity training is you’ll be taken through the concepts of the language step by step, while building your own crypto-game.

  5. You’re a developer, so keep the Solidity docs close while you start writing code:

You need to be quite adapt at self-teaching to learn it this way, but for most Javascript developers it’s absolutely possible. If you do prefer to follow a good training, I can recommend the developer course at the Blockchain Academy.

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