Skip to content

Getting Started

William Kennedy edited this page Sep 6, 2022 · 7 revisions

Required Software

The following items are required to build and run the services associated with the project.

Golang

The minimum supported version of Go is 1.18. To upgrade your installation of Go, see the documentation.

Geth and Solidity

This project runs a version of Ethereum locally. It also uses the Solidity programming language for smart contract development. To install geth and solidity use Homebrew. The makefile has a command called dev.setup to help.

Staticcheck

This project uses staticcheck as the linter for code correctness and Go idioms. Running tests will require the use of staticcheck. Information on installing staticcheck can be found here.

Go Vulnerability

This project uses govulncheck for vulnerability management. Running tests will require the use of govulncheck. Information on installing govulncheck can be found here.

Downloading The Project

The recommended option is to use the git clone command and clone the project anywhere on disk.

$ cd $HOME
$ mkdir code
$ cd code
$ git clone https://github.com/ardanlabs/liarsdice
$ cd blockchain

Install the Dependences

To install Ethereum (geth) and the Solidity compiler, run this make command.

$ make dev.setup

Running Tests

Navigate to the root of the project and run the test suite. You need geth running first.

$ cd $HOME/code/blockchain

// In a separate terminal window.
$ make geth-up

// Deploy the smart contract.
$ make contract-deploy

// Run the export command that is provided.
$ export GAME_CONTRACT_ID=0x46D9cE545007E4E694016b3959D4dC11D96F3F2b

// Now run the tests.
$ make test
Clone this wiki locally