Make the Leap
How to hop on the Blockchain express!
Blockchain is still in its early stages of development and there is a lack of awareness about the technology that powers it. You’ve heard of it, you want it, you might even have some, but where do you get started? In this article, I will cover what technology is used and when.
The similarities with traditional programming
Compared to traditional programming, testing and integration are reasonably similar. The languages used are the same in addition to Solidity, an object-oriented programming language for writing smart contracts which is often described as being syntactically similar to JavaScript.
The differences with traditional programming
Deployment is very different and because the blockchain is immutable, every time you deploy it’s permanent. A developer will need to audit code to ensure its security and certainty. Therefore, data storage and maintenance differ as well.
Ethereum Protocol
There are now more than 12,000 cryptocurrencies on the open market and a number of public and private Blockchains, no wonder it can be overwhelming. In this article, I will cover the technology and tools behind the Ethereum protocol, simply because the adoption rate for the Ethereum protocol is staggering, in comparison to other protocols with 3000+ applications.
Level 1: Ethereum Virtual Machine (EVM)
The Ethereum Virtual Machine (EVM) is the runtime environment for smart contracts in Ethereum. All smart contracts and state changes on the Ethereum blockchain are executed by transactions. The EVM handles all of the transaction processing on the Ethereum network.
Currently, the EVM runs on thousands of nodes distributed across the world. As a dApp developer, you don’t need to know much about the EVM other than it exists and that it reliably powers all applications on Ethereum without downtime.
Level 2: Smart Contracts
Smart contracts are executable programs that run on the blockchain.
Smart contracts are written using specific programming languages (Solidity, Vyper, Yul) that compile to EVM bytecode (low-level machine instructions called opcodes).
Not only do smart contracts serve as open source libraries, they are also essentially open API services that are always running and can’t be taken down. Smart contracts provide public functions that users and applications (dApps) may interact with, without needing permission.
Level 3: Ethereum Nodes
In order for an application to interact with the Ethereum blockchain, it must connect to an Ethereum node. Connecting to a node allows you to read blockchain data and/or send transactions to the network.
Ethereum nodes are computers running software – an Ethereum client. A client is an implementation of Ethereum that verifies all transactions in each block, keeping the network secure and the data accurate. Ethereum nodes are the Ethereum blockchain.
Level 4: Ethereum Client APIS
Many convenient libraries (built and maintained by Ethereum’s open source community) allow your applications to connect to and communicate with the Ethereum blockchain.
If your user-facing application is a web app, you may choose to npm install a JavaScript API directly in your frontend. Or perhaps you’ll choose to implement this functionality server-side, using a Python or Java API.
Level 5: End-user Applications
At the top level of the stack are user-facing applications. These are the standard applications you regularly use and build today: primarily web and mobile apps.
The way you develop these user interfaces remains essentially unchanged. Often users will not need to know the application they’re using is built using a blockchain.
What do you need to get started?
Now, let me ask you a quick question before moving on. Which of the above levels are you the most interested in? This is something you should keep in mind as a developer at all times, this would then enable you to select your particular Web3 stack and avoid wasting too much time learning technologies you might never use or not need to make the transition to Web3.
The most popular languages our clients are requiring the expertise of are; JavaScript and Solidity. While most developers have commercial experience with the first, Solidity requirements vary and are often limited to personal projects. The good news is that we have a number of roles that offer a soft transition to Web3 where you will be offered the chance to use Solidity, without any prior experience as a requirement. It is however always a good idea to have something you worked on in a personal project as a way to show your interest in the space (such as on GitHub).
We understand that the above may not answer all your questions, please feel free to reach out if you would like to discuss how you can personally transition. We can guide you to some additional resources or put you in touch with someone who made this transition in the past and might be able to help.
Written by Valeriu Veriga
📅 This Week in Crypto 📅
Luxury jewellery brand Tiffany and Co. (TIF) is putting CryptoPunks on-chain: diamond chains. The company is selling 250 customized, diamond-encrusted pendant necklaces for 30 ETH (around $50,000) a pop to holders of the famed avatar collection. Each necklace will include a combination of 30 diamonds and gemstones, according to Tiffany’s website.
The Ethereum blockchain’s transition from a proof-of-work (PoW) consensus mechanism to proof-of-stake (PoS) seems imminent, with an Ethereum Foundation member saying recently that the switch is provisionally expected in mid-September, Bank of America (BAC) said in a research report last week.
With a score of 8.6 points out of 10, the special administrative region of China – Hong Kong – was crowned as the most crypto-ready country globally. The second position belongs to the previous leader – the United States of America, while Switzerland is third.