Skip to content

Getting Started

William Kennedy edited this page Jan 15, 2023 · 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.

Solidity

This project uses the Solidity programming language for smart contract development. To install Solidity use Homebrew. The makefile has a command called dev.setup.mac and dev.setup.mac.arm64 to help. If you are on a different OS that supports Homebrew, it is recommended to use it.

https://docs.soliditylang.org/en/v0.8.11/installing-solidity.html

Docker

This project uses Docker to run the code. There are several containers you will want to pre-download. Use the makefile command dev.docker to pull all the necessaery containers. Please make sure Docker is running with at least 4 CPUs.

Kubernetes and Vault

This project has been configured to run in a Kubernetes (k8s) environment. A decision was made to use KIND for the local k8s environment. Any k8s environment would work after careful setup of your k8s cluster. The project also uses Kustomize to help manage k8s configuration files.

To install KIND follow these instructions.

To install the K8s kubectl client follow these instructions.

To install the Kustomize client follow these instructions.

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.