Cryptocurrencies and the technologies they use are changing the world. They’re everywhere — even my Grandma knows what Bitcoin is! What makes cryptocurrency so special is blockchain technology. Every cryptocurrency is built on what’s known as Distributed Ledger Technology (DLT), and blockchain is the most popular form of it. Someone who builds on a blockchain is called a blockchain developer. Would you like to learn how to become one? Of course, you would!
Everything you need is freely available on the internet. Blockchain is open-sourced. The secrets of it aren’t locked in a vault, like a recipe for Coca-Cola! If you want to learn how to become a specialized expert in this area, the first thing you need to understand is the basics of blockchain technology. Are you ready? Let’s go!
Table of Contents
A blockchain is a digital database for storing information. Information is stored in groups called ‘blocks’. A blockchain is a bit like an Excel spreadsheet. However, blockchains have some very special features that make them different. Blockchains are:
Decentralized A blockchain isn’t stored in one place — it has no center. It is stored across many different computers. These computers are called nodes. Blockchains are called peer-to-peer networks because there are no third parties like Microsoft, Google, or Facebook involved. So, not one single entity has control over the data on a blockchain, users and every blockchain developer deal with each other directly instead of through a third party.
Guided by Consensus This means that before new information is added to the blockchain, more than half of the nodes have to agree that it is valid before it is added. It protects the blockchain from fraud.
Immutable This means that once information is added it can’t be changed or removed. Information on a blockchain is protected by This means that it is encrypted and nearly impossible to hack.
The software that’s built on blockchains is called dApps (decentralized applications). The first dApp was built on Bitcoin’s blockchain and it’s a peer-to-peer payment system. Other blockchains — like NEO, EOS, and Ethereum – are designed to do more. These blockchains are designed to have all kinds of dApps built on them. Bitcoin was designed as an alternative to centralized banking. Platforms like NEO and Ethereum want their users to build dApp alternatives to all kinds of centralized apps, like Twitter, Google, and Uber.
As a blockchain developer, you’ll be helping to build a fully decentralized internet! That’s pretty cool, don’t you think?
The second step is deciding which blockchain you want to develop on. Two of the most popular development platforms are NEO and Ethereum. Let’s have a look at what each platform offers to its users…
Ethereum vs NEO
Ethereum was created by Vitalik Buterin and went live in 2015. NEO was originally called Antshares and was founded by Da Hongfei and Erik Zhang in 2014. It became NEO in 2017.
Both platforms allow users to build dApps. They do this in slightly different ways. DApps are built using programming languages, just like regular software. NEO dApps can be built with a lot of different programming languages, including C# and Java. These are popular languages that most software developers know how to use. This makes using NEO easier for experienced users.
NEO is focused on providing platforms for the digital businesses of the future. It follows Chinese business regulations and works closely with the Chinese government. It is also currently a faster network than Ethereum. This is great for applications that will need to process a lot of transactions per second!
Ethereum also has links with big businesses like Mastercard and Samsung. However, Ethereum is more focused on encouraging users to develop the blockchain than NEO is. It also has the largest dApp building community of any other blockchain. This is why I believe Ethereum is the best platform for a newbie to start their development training.
In the rest of this guide, I’ll tell you everything you need to know about how to become a blockchain developer on Ethereum. Let’s start by having a look at what Solidity is and how it works…
What is Solidity?
Smart contracts are the rules which guide transactions on Ethereum’s blockchain. If the conditions of a smart contract are met, then the transaction will happen. If the conditions of a smart contract are not met, then the transaction will not happen. For example, let’s look at how one transaction takes place on two different blockchains. The transaction is between Diana and Ross;
Diana is selling football online for 5 Bitcoins (BTC). Ross decides to buy a football, so he sends Diana 5 BTC on the Bitcoin blockchain. Diana receives 5 BTC from Ross and sends him a football. The way that Bitcoin blockchain developers programmed it, the transaction looks like this:
Ross sends 5BTC to Diana.
That’s a good deal, right? But what if Diana doesn’t send the football? She’ll still have Ross’s Bitcoins but Ross won’t have a football. What Diana and Ross need is a smart contract. Now let’s see what the transaction looks like on the Ethereum blockchain.
Diana is selling football for 70 ETH. Ross wants a football so he sends Diana 70 ETH. However, Diana won’t receive the 70 ETH until she has sent the football to Ross. As soon as Ross receives his football, Diana will receive her 70 ETH. This is what the transaction would look like on the Ethereum blockchain:
If Ross sends 70 ETH to Diana, then Diana sends a football to Ross.
Both parts of the contract have to happen for the transaction to be completed. Which transaction would you prefer?
Smart contracts written by blockchain developers with Solidity aren’t just for money transfers. They can be used for lots of different things. Solidity smart contracts can be used to guide all kinds of transactions from secure voting in elections to rental agreements. Now let’s look at how Solidity works…
How does Solidity work?
Solidity is a high-level coding language. This means that it is designed to be read and used by human beings! Computer programs are usually written in a high-level language and then translated into a low-level coding language.
A low-level coding language is designed to be read and used by computers. Low-level languages are made up of 1s and 0s. This is called binary. Some very clever human beings can write code in binary, but unfortunately, I’m not one of them!
Binary Conversion Chart | Source: sciencefriday
When a blockchain developer builds dApps and smart contracts on the Ethereum blockchain, there are rules which guide their design. For example, if you want to design a new cryptocurrency using Solidity you have to follow a set of rules called ERC20. These rules make it easier to tell how new dApps will work when they are launched on the blockchain.
Ethereum blockchain development happens in a very special place called the Ethereum Virtual Machine.
Ethereum Virtual Machine
A virtual machine is an environment where new computer programs can be written. New programs are developed in virtual machines so they can be kept separate from the rest of a system’s programs.
Imagine you’re building a new kind of car. It would be a very bad idea to build and test a new car in the middle of a busy road, wouldn’t it? You would build and test your car in a factory and on empty streets. This way your new car won’t be able to damage any other cars and they won’t be able to damage your car.
This is how the EVM works. It is a factory for building new smart contracts. This makes Ethereum a great place to learn blockchain. The EVM allows users to practice blockchain programming without worrying about making mistakes. Any mistakes a new blockchain developer makes won’t affect the rest of the blockchain.
The EVM is also Turing complete. This means that whatever a computer can do, you can design using the EVM. The only limit is your imagination! Think of all the exciting new ideas being built using the EVM right now!
So, now you know what Solidity is, how smart contracts work and where they’re developed. Next, let’s look at the Solidity code you’ll be using.
Learning Solidity is a lot like learning to speak a new language, but it is essential to become a blockchain developer on the Ethereum platform. Solidity basics are like nouns, adjectives, and verbs. Nouns, adjectives, and verbs are tools for creating sentences. Here are some of the tools for creating Solidity smart contracts;
- Variables – These are used to store information on the blockchain. There are lots of different kinds of variables but here are some of the most common:
- Booleans – These are used to store information that is either true or false. The keyword for Booleans is bool. Here’s what a Boolean variable for this guide might look like:Note: A keyword is a way a coding tool is written in Solidity. It’s important to write each keyword correctly to get them to work the way you want them to.
- Integers – These are used to store information as a number. There are two types of the integer. Regular integers can be positive or negative numbers. Their keyword is int. Unsigned integers can only be positive numbers. Their keyword is uint.
- Addresses – These are used to store Ethereum addresses. Each Ethereum user has its address or addresses on the blockchain. Diana and Ross, from the example earlier, would both need addresses for their smart contract to work. Their keyword is the address.
- Strings – These are used to store text information. Their keyword is strings.
- Booleans – These are used to store information that is either true or false. The keyword for Booleans is bool. Here’s what a Boolean variable for this guide might look like:
- Functions – A function is used to do a certain job. A function can use information from variables to create new information. Let’s use a sum as an example. In the sum 2+3=5, 2 and 3 are the variables and the function is +. 5 is the information the function returns. For this sum, the keyword would be function add. This is what sums look like in smart contracts;
- Structs– These are used to put variables into groups. Do you remember that new car you were building? In Solidity, you could use a struct to group information about your car! It would look something like this:
Beginners can find learning Solidity pretty scary but don’t worry, there are some really fun online courses to get you started.
Space Doggos and CryptoZombies are both gamified Solidity lessons for beginners. This means that they both turn Ethereum blockchain into a game! Let’s see which platform will be better at helping you.
Space Doggos allows beginners to learn blockchain development by creating characters and environments for an adventure in space.
The first lesson contains ten chapters of information and tasks to get you started. Each chapter has detailed notes on the processes being used. These include the variables, functions, and structs I talked about earlier.
Users can design their astronaut dog using real Solidity code. To do this, users need to write code for the dog’s breed, costume, and mood. The code becomes more complicated as the adventure continues.
As an introduction to the Ethereum blockchain, Space Doggos is a well-designed and entertaining platform for any upcoming blockchain developer.
CryptoZombies allows users to design a whole army of zombies. To do this, users first have to build a zombie factory. Then, users can code the way their zombies look and even the way they attack their victims! You’ll also get the chance to build a zombie battle system. You don’t get to do that very often, do you?
CryptoZombies is very entertaining and makes a lot of difficult ideas fun. However, the lessons aren’t quite as detailed or clear as they are when you use Space Doggos.
So, if you want to command an army of the undead, then CryptoZombies is the course for you. However, I would recommend Space Doggos.
When you’ve learned everything there is to learn from Space Doggos, you might need some more advanced lessons. For this, I would recommend the BitDegree Solidity course.
More Advanced Lessons
The BitDegree solidity course is great for users who have learned Solidity basics and are ready to start blockchain programming. The course starts with environment setup and takes users through to building and launching their cryptocurrency!
- Learn the basics of blockchain and cryptocurrency. To do this, you’ve got to get involved! Visit Bitcoin forums on Reddit, watch crypto vlogs on Youtube and keep up with blockchain news on Coindesk.
- Buy some cryptocurrency. The best way to learn about cryptocurrency is to go to an exchange and buy some. A great exchange for newbies is Coinbase. Buy a small amount of currency and use it to explore the world of crypto!
- Try the basics of blockchain programming on Space Doggos or CryptoZombies. These are both great places to start learning to develop on a blockchain.
- Sign up for a more advanced Solidity course, like the one offered here at BitDegree.
- Get coding! Use all your new skills to create dApps and smart contracts that are going to change the world! No pressure…
Now, you know where to start. You know how to become a blockchain developer. Let’s put it into action!
Blockchain technology is going to be a big part of our lives in the future. Blockchain development is going to be a big business.
For more information, check out our other guides to cryptocurrency, Ethereum, and blockchains.