Written by Kyle Josias, Developer at Saratoga
Earlier in May, Kyle Josias presented a tech talk to the Saratoga team providing an introduction to blockchain development with Ethereum. As blockchain remains a hot topic, his article shares an insightful overview of Ethereum blockchain and the use of this as a development platform.
The Ethereum blockchain has gained significant popularity over the last few years and so too has the development platform. This is great news for developers, as the blockchain development world continues to grow rapidly.
Essentially, a blockchain is a digital network of distributed computer devices or ‘nodes’, which run specific software.
The Ethereum blockchain uses smart contracts written in the Solidity programming language. What is a smart contract you might ask? Well, a smart contract is a program that is stored and run on the blockchain and has a set of predefined rules. A smart contract is also immutable, meaning it cannot be changed once it has been deployed to the blockchain or in Ethereums’ case, the Ethereum Virtual Machine (EVM).
Understanding the lingo
For newcomers in the blockchain community, here are a few common terms which would be helpful to know:
Dapps – decentralised applications that run on a distributed computing network, in this case the Ethereum blockchain.
DeFi – short for decentralised finance, which refers to finance-based blockchain applications which do not rely on traditional financial institutions like banks.
Cryptocurrencies – digital currencies which are very strongly encrypted to secure online transactions, with Ether being the native cryptocurrency to Ethereum.
Equipping yourself with the right tools
Now that we know the lingo, let’s look at some of the tools available for Ethereum development.
One specific tool I would recommend is called the Truffle suite. This framework enables you to create a testing environment for your decentralised app (Dapp) and has many other useful features and documentation available on their website.
Truffle allows you to compile, test and debug your smart contracts and comes with other tools such as Ganache, Drizzle and more. Ganache provides you with a local blockchain and you can use it across the entire development life cycle. You can either install the Ganache UI which is a desktop application or you can use the Ganache-CLI (Command Line Interface).
Drizzle is a collection of libraries for the front-end which keeps your contact data and transaction data in sync with your Dapp.
The Truffle suite has a number of features and implementations that make Ethereum development much more accessible. The supporting documentation on their website is very helpful – making it a must read for Ethereum development. Truffle also provides support for React.js and gives examples on how all the nitty-gritty integration works. For this reason, you would need to have Node.js installed on your machine and an Integrated development environment (IDE) of your choice (I prefer using Microsoft’s Visual Studio Code).
A final piece of software you may want to install is the Meta Mask wallet. Meta Mask is a plug-in that you install in your browser and allows you to communicate with the Ethereum blockchain. It performs transactions and other functions such as checking your balance, switching between the different test networks provided by Ethereum and more. Meta Mask can also be downloaded on to your mobile device.
Dive in to blockchain development
Once you have all these tools installed you are ready to develop your first Ethereum distributed application. It’s worth checking out the official documentation available on Truffle as mentioned above, and Udemy is a great online learning platform with many useful blockchain courses and resources. On Udemy you can get detailed explanations and do deep dives into writing smart contracts, developing your front-end for user interaction and how the Meta Mask wallet connects to Dapps.
Here’s hoping that we’ve sparked your interest in Ethereum blockchain development and that you are as excited as us about learning more about this new and cutting edge technology. As the blockchain development community is still very much in its infancy stages, there is a high demand for developers in this space – providing for many opportunities and major growth potential.