Chapter 3. Before We Get Started

In this chapter we are going to set up all the tools needed for smart contract development. We will start by installing an Ethereum client, which is software that can be used to interact with the Ethereum blockchain. We will then install Node.js, which provides the JavaScript environment for Truffle. Lastly, we will install Truffle and Ganache from the Truffle Suite. Truffle provides a fantastic set of utilities used for testing and deploying our contracts, while Ganache gives us a local blockchain environment to run our application locally.

Once these tools are installed, we’ll be ready to write our first smart contract. Without further ado, let’s get started.

Ethereum Clients

Before we dive into installing an Ethereum client, we should take a moment to discuss how an Ethereum client is different than HTTP clients, which you are likely far more familiar with.

In a traditional web application, the server is centralized and located with a URL or IP address. This software can be written in any programming language that is capable of sending an HTTP request. The client software would make interacting with the server easier since it would contain all the logic and abstractions for building the requests and parsing responses. The client could also be released as a library and made available for other applications to speed up adoption of the service.

Twilio is a great example for this type of client. If you visit their GitHub page, you can see they ...

Get Hands-On Smart Contract Development with Solidity and Ethereum now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.