Kicking the Block: Becoming a Blockchain Engineer — Part 2
The Enthusiast Beginnings
Welcome back! In this series of articles I’m trying to give information to newcomers that want to get started on Blockchain development and don’t know where to start. On the first part of the series we focused on getting the foundations down about Ethereum, Smart Contracts and one of the smart contracts languages: Solidity.
In this second part we will focus on starting the setup of a local development environment that can help us in our development process. We will put an Integrated Development Environment (IDE), extensions and command line plugins together that will increase our productivity and helps us keep our projects tidy and secure. Let’s go!
The IDE: VS Code
There are many IDE out there, but my preferred environment is Visual Studio Code by far. It has been ported to Windows, Mac and Linux, and it is a greatly extensible environment that can meet the needs of everyone. That said, if you have an IDE of choice, please go for it! I will base my explanation on VS Code but it should be easy to adapt it for your own environment if you know it well.
First of all you need to download VS Code here: https://code.visualstudio.com/download
Install it and open it. You will be greeted with the welcome page:
Once installed, check out the documentation if you want to have deep dive on its possibilities: https://code.visualstudio.com/docs
VS Code is a great IDE, but it comes with just the basics pre-installed, and while it is enough for most uses, we will need to install specific extensions to make it work for a Blockchain Development environment.
Extensions are installed by clicking on the extensions icon on the navigation bar on the left. For information on how to do it please check here: https://code.visualstudio.com/docs/editor/extension-marketplace
Once you are comfortable, let’s install a couple of nice extensions for us.
Juan Blanco’s Solidity
This amazing extension will add Solidity support to VS Code, including syntax highlighting, code compilation and formatting. It works really great and it is regularly updated.
solidity - Visual Studio Marketplace
Solidity is the language used in Ethereum to create smart contracts, this extension provides: Syntax highlighting…
This is a code formatting tool that supports plenty of programming languages. Code formatting is a very necessary tool to keep your code organized and maintainable. It also is a dependency of Juan Blanco’s Solidity extension as it uses Prettier to format the code.
Prettier - Code formatter - Visual Studio Marketplace
Extension for Visual Studio Code - Code formatter using prettier
A static analysis tool that will help us identify problems in our smart contracts. It will analyze the code and search for bad practices that could cause a security breach on your contracts. This is very important when developing smart contracts as they will usually manage money in one way or another, so you should always strive for a bug-free code. This is always true when developing, but even more so when you can lose billions because of a bug and when you may not be able to apply a hot fix to your code.
Slither - Visual Studio Marketplace
Visual Studio Code integration for Slither, a Solidity static analysis framework. This extension offers Visual Studio…
It will give you different code metrics, code complexity and risk profile of your code. Again, this is a security enhancing tool that can help you understand how mature is your code and how ready it may be for it to be deployed on a real blockchain.
Solidity Metrics - Visual Studio Marketplace
🌐 📩 🔥 ] Generate Source Code Metrics, Complexity and Risk profile reports for projects written in solidity (Smart…
Solidity Visual Developer
It is a passive security tool that complements the Slither tool. It shows you on real-time plenty of information about your contract external calls, variable uses, function modifiers and much more to make you aware of all the choices you are making when writing your smart contracts. Written by Consensys, one of the most respectable smart contract auditors in the space. You cannot miss it!
Solidity Visual Developer - Visual Studio Marketplace
🌐 📩 🔥 ] Advanced Solidity Language Support Code Augmentation Source Exploration Visual Security Linting An extension…
Once you’ve installed all the extensions, read about them and learn their features. We will be taking full advantage of them when we setup our local project in Part 3 of our Blockchain series.
Please check out soon for the next part and, if you liked this one, show some love by Clapping below as much as you want, or leave a comment to tell me how you are doing!
And remember: Keep it Smart and keep it Safe!