I will introduce the proper tooling and show you how to prepare your PC for writing smart contracts and interfacing with the Ethereum blockchain.
Homebrew is a package manager for macOS.
- 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. We’ll be using this to download dependencies like Truffle.
Truffle is an awesome tool that makes the developers 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.
- Install Homebrew by asting the following command into the terminal.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Go through the the installation and when you see Installation Successful you’re done!
2. Install Visual Studio Code .zip from https://code.visualstudio.com/docs?dv=osx. 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. Install Geth (Go-Ethereum)
We’re going to use homebrew to connect to the Geth repository. We will need to access https://github.com/ethereum/homebrew-ethereum to download the Ethereum client. In your terminal type in the following commands.
brew tap ethereum/ethereumb)
brew install ethereumor
brew update ethereum if geth is already installed on your machine.
4. Install Ganache
5. Install NodeJS and the NPM package manager
brew install node
sanity check that all is well by checking their versions
6. Install Truffle now that we have node installed. To avoid complications we’ll do a truffle uninstall first. Truffle can get finicky if the installation detects traces of it elsewhere on your computer.
npm uninstall -g truffle
npm install -g truffle
The Final Test
- Get Balance From one of our generated accounts
- Convert that Balance From Wei to Ether
In Terminal 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’ balance in wei. To convert it we will take the result and specify it’s conversion type.
web3.utils.fromWei(`[wei value]`, 'ether')
You’re setup 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!