Skip to content
William Kennedy edited this page Sep 6, 2022 · 1 revision

Description

The liars dice project is a reference implementation of a game written in Go that uses an Ethereum smart contract to manage the bank. It uses a crypto wallet for authentication and players bet money for each game played. It's a complete implementation of a game with money management. This class tries to teach to the core design philosophies for blockchain and smart contract technology.

This project should not be considered a production useable project. With that being said, the code has been written as if this project were going to be used in production. The full set of design philosophies, guidelines, and idioms have been respected.

Features

This project contains the following features:

  • Ground up architecture and design for a web3 game.
  • Web3 based authentication.
  • JS integration to MetaMask wallet.
  • Smart contract development in Solidity.
  • Smart contract testing in Go.
  • Game engine writting in Go with smart contract integration.
  • Admin tooling to manage and debug smart contract.
  • GUI/TUI game client for playing the game.

Services

The following services are used within the scope of the project.

Tooling

  • logfmt : Converts the structured logs into human readable logging.
  • admin : Tool to manage and debug the smart contract.

Services

  • engine : Game engine written in Go.
  • game : Browser client for playing the game written in Node/TS.

Cli

  • liars : Terminal based game client for playing the game written in Go.
Clone this wiki locally