Quick Start Guide
This guide will walk you through the process of setting up a minimal development environment using the Euclid Development Environment project, installing the Currency Framework, and launching clusters. The process should take less than an hour, including installing dependencies.
Primary development focus for this SDK is based on UNIX-based operating systems like macOS or Linux. With that being said, Windows support is available using the Windows Subsystem for Linux (WSL) to emulate a UNIX environment. The following guide has been tested in that environment and works wells.
See Install WSL for more detail in setting up WSL on your Windows machine.
Install Basic Dependencies
Many developers can skip this step because these dependencies are already installed.
cargo install argc
cs install giter8
The Euclid Development Environment starts up to 10 individual docker containers to create a minimal development environment which takes some significant system resources. Configure docker to make at least 8GB of RAM available. If you are using Docker Desktop, this setting can be found under Preferences -> Resources.
Create a Github Access Token
See instructions for how to create an access token. The token only needs
read:packages scope. Save this token for later, it will be added as an environment variable.
Clone the Euclid Development Environment project to your local machine.
git clone https://github.com/Constellation-Labs/euclid-development-environment
See the Development Environment section for an overview of the directory structure of the project.
GITHUB_TOKEN variable within the
.env file with your Github Access Token generated previously. Update the
PROJECT_NAME variable to the name of your project.
GITHUB_TOKEN=<your token here>
Familiarize yourself with the
hydra CLI. We can use the
hydra CLI tool to build the necessary docker containers and manage our network clusters.
USAGE: hydra <COMMAND>
install Builds framework from template
build Build the clusters
start_genesis Start built clusters from genesis block
stop Stop all the containers
destroy Destroy all the containers
status Check the status of the containers
install command will do two things:
- Creates currency-l0 and currency-l1 projects from a g8 template and moves them to the
- Detach your project from the source repo.
Detaching your project from the source repo removes its remote git configuration and prepares your project to be included in your own version control. Once detached, your project can be updated with
Build your network clusters with hydra. By default, this builds
grafana monitoring containers. The
dag-l1 cluster is not built by default since it isn't strictly necessary for metagraph development. You can include it with the
Start the build process. This can take a significant amount of time... be patient.
After your containers are built, go ahead and start them with the
start_genesis command. This starts all network components from a fresh genesis snapshot.
Once the process is complete you should see output like this:
Containers successfully built.
Global L0: http://localhost:9000/cluster/info
Currency L0: http://localhost:9100/cluster/info
Currency L1 - 1: http://localhost:9200/cluster/info
Currency L1 - 2: http://localhost:9300/cluster/info
Currency L1 - 3: http://localhost:9400/cluster/info
You can also check the status of your containers with the
You now have a minimal development environment installed and running 🎉
Set up the FE Developer Dashboard and send your hello world metagraph transaction.
Prefer to configure your environment by hand? Explore manual setup.