Solidity development environment

The core of my development environment consists of:

  • Node.js and npm
  • Visual Code
  • GitHub
  • Truffle
  • OpenZeppelin

I setup an environment on Windows using David Burela’s instructions. David has since written how to use Windows subsystem for Linux, though with both environments I still find tools that don’t work unfortunately, so occassionally have to fallback to using Linux (VM) or a Mac.

Node.js and npm

Download and install Node.js from the website. (I had issues on Windows with Truffle using version 10, so changed to version 8 LTS.)

For windows users only install via npm windows-build-tools

npm install -g -production windows-build-tools

Visual Code

Download and install Visual Code from the website.

Install the solidity extension from the marketplace.

GitHub

Install GitHub from the website.

Truffle

Install truffle via npm

npm install -g truffle

If you haven’t used Truffle before, then start with the Pet Shop tutorial

Setup Infura for deploying to testnets such as ropsten using Truffle tutorial.

Install the Ganache local blockchain (though I haven’t spent any time with the GUI).

OpenZeppelin

OpenZeppelin is a collection of smart contracts, e.g. ERC20, ERC827, ERC721 implementations.

Also a great resource for looking at how to test smart contracts and configure your environment.

If you haven’t used it, start with the Truffle Open Zeppelin tutorial.

Software Engineer (blockchain)

Software Engineer (blockchain)