Skip to main content

Installation

Warden Protocol is composed by different components, each one with its own installation instructions. This document will guide you through the process of installing each one of them.

Prerequisites

  • Go 1.22 or later
  • make
  • Clone the repository:
git clone https://github.com/warden-protocol/wardenprotocol --depth=1
cd wardenprotocol

Docker

You can run all the services using Docker and Docker Compose.

All you need to run is:

docker compose up

You can also bring up specific services to run in the background, while running the rest locally on your machine for easier debugging.

Wardend (blockchain node)

Build

make install-wardend

This will build the chain binary called wardend and install it in your $GOPATH.

Verify the installation by running:

wardend version

If you can't find the wardend binary, make sure your PATH includes the $GOPATH/bin directory (by default $GOPATH is ~/go).

Run

When developing, it's best to use ignite to run the node:

ignite chain serve -p ./warden --home ~/.warden

This will start the node with a default configuration and genesis that contains some accounts and a keychain pre-configured. Using this method will make it easier to run other services (e.g. faucet, keychain, ...).

Faucet

Build

You can use make:

make build-faucet
./build/faucet

or run it directly:

go run ./cmd/faucet

It will start a server on ::8000 that you can use to request tokens.

The faucet will use the same keychain as the wardend node, so you can use the same accounts to request tokens.

You can use curl to request tokens:

curl http://localhost:8000/faucet --json '{"address": "wardenXXX"}'

WardenKMS

Build

You can use make:

make build-wardenkms
./build/wardenkms

or run it directly:

KEYRING_MNEMONIC="liberty lucky weapon argue blast borrow matrix fabric topple auto tomato age simple obvious mushroom hire edge vault federal climb step element divorce problem" \
KEYRING_PASSWORD="$USER" \
go run ./cmd/wardenkms

SpaceWard

SpaceWard is a React app bundled with Vite.

Prerequisites

We use pnpm as the package manager, so make sure you have it installed.

npm install -g pnpm

Run (development)

cd spaceward
pnpm install
pnpm dev

Build (production)

cd spaceward
pnpm run build