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