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.
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, and users deal with each other directly instead of through a third party.
Public: All the information on a blockchain is public. This means that everyone can see it.
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 apps (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 apps 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? All you need to do now is work out how to become a blockchain developer!
The second step in learning how to become a blockchain developer 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 was created by Vitalik Buterin and went live in 2015. NEO was originally called Ant shares and was founded by Da Hongfei and Erik Zhang in 2014. It became NEO in 2017.
Both platforms allow users to build apps. They do this in slightly different ways. DApps are built using programming languages, just like regular software. NEO apps 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?
Solidity was developed by an Ethereum team, which was led by Dr. Gavin Wood in 2014. Solidity is used to write smart contracts. Smart contracts are used to create apps.
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 an example, let’s look at how one transaction takes place on two different blockchains. The transaction is between Diana and Ross.
Diana is selling footballs 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. On the Bitcoin blockchain, 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 footballs 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 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!
When you build apps 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 apps 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 programmes can be written. New programmes are developed in virtual machines so they can be kept separate from the rest of a system’s programmes.
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 is able to 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 as you learn how to become a blockchain developer…
Learning Solidity is a lot like learning to speak a new language. 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 the 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 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 their own 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 address.
Strings– These are used to store text information. Their keyword is strings.
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;
These are just a few of the things you’ll learn when you’re learning how to become a blockchain developer. Beginners can find learning Solidity pretty scary but don’t worry, there are some really fun online courses to get you started.
Two courses that teach you how to become a blockchain developer are Space Doggosand CryptoZombies. See? You’re having fun already, aren’t you?
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 to learn how to become a blockchain developer…
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 own 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.
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, if you want to know how to become a blockchain developer, 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 these, 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 all the way through to building and launching their own cryptocurrency!
Now you should have a good understanding of how to become a blockchain developer. Before I finish this guide, let’s have a quick look at the steps you need to take.
How to Become a Blockchain Developer: Summary
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 the dApps and smart contracts that are going to change the world! No pressure.