A huge portion of the blockchain community are using MacOS or Linux systems. It’s easy for a Windows user to feel neglected. In this article, I will introduce the proper tooling and show you how to prepare your PC for writing smart contracts and interfacing with the Ethereum blockchain.
Powershell is a very powerful tool that should be installed by default on your windows computer (at least if you’re using windows 8 and above). We’ll use it mainly as a terminal to accept unix commands and to install packages. As mentioned previously, most of the community uses unix based systems and command prompt won’t cut it. Being able to adapt will save a lot of headache in the long run.
- Visual Studio Code
Visual Studio Code is my code editor of choice when it comes to writing smart contracts. It’s super lightweight, full of extensions created by the community, and has powerful debugging tools. Obviously opinions may differ when it comes to which code editor or IDE to use. The final decision is yours.
- Geth (Go Ethreum)
Geth is the the command line interface for running a full Ethereum node implemented in Go. It allows you the ability to do practically anything you would need to do on the blockchain (commands listed here).
Ganache is a blockchain emulator that allows you to run tests, execute commands, and inspect state while controlling how the blockchain operates. Ganache was called Test RPC in the past, but the developers learned from Android that tasty dessert names are more appealing. The blockchain you create is personal, has user friendly UI, and runs quickly in memory.
NPM is a package manager for Node.js files. We’ll be using this to download dependencies like Truffle.
Truffle is an awesome tool that makes the developer’s job much easier. It’s provides a testing framework, smart contract compilation, linking, deployment, and much more. It also handles a lot of boilerplate for you when you get into the realm of using boxes.
1. Make sure Powershell is on your computer. If not, installation instructions will vary by system. Install it from the official Microsoft webpage.
2. Install Visual Studio Code .zip from code.visualstudio.com/docs/?dv=win . Go through the installation process.
After Downloading and opening you will need to download the solidity extension to allow you to write in that language.
Type ‘Solidity’ in the search bar and get the extension with the information listed below, It should be the first one suggested.
Description: Ethereum Solidity Language for Visual Studio Code
Publisher: Juan Blanco
VS Marketplace Link: https://marketplace.visualstudio.com/items?itemName=juanblanco.solidity
3. Download Geth
close and reopen powershell and confirm geth is installed by checking the version.
4. Install Ganache
5. Install NodeJS and NPM
node -vnpm -v
6. Install Truffle from Powershell.
npm uninstall -g truffle
npm install -g truffle
It’s best to do a sanity check and uninstall to avoid complications at first. Powershell often has some dependencies already installed but just out of date.
The Final Test
- Get Balance From one of our generated accounts
- Convert that Balance From Wei to Ether
In Powershell type in
After a list of the 10 generated accounts are shown, you can select any of the public addresses and use the web3 command to get its balance. All of the generated test addresses will have a balance of 100 Ether, but it will be shown in wei unless we convert it.
this command prints out the Address’ balanace in wei. To convert it we will take the result and specify it’s conversion type.
web3.utils.fromWei(`[wei value]`, 'ether')
You’re set up and ready to start writing contracts. I recommend filling in any loopholes in your knowledge at
Here is another article I wrote that demonstrates publishishing smart contracts to the testnet or mainnet, check it out!