Skip to content

Arianee/safe-infrastructure

 
 

Repository files navigation

Safe Infrastructure

Safe infrastructure diagram

  • Tx Service is the core of the Safe. It indexes multisig transactions, module transactions, token transfers, collects signatures... There must be 1 Tx Service per Chain, with different workers, PostgreSQL, Redis and RabbitMQ.
  • Config Service holds configuration for every Chain (blockexplorer, tx service url, apps enabled, wallets enabled...). 1 instance of the Config Service supports multiple Chains
  • Client Gateway provides an API optimized for clients (web ui, android, ios...). 1 instance of the Client Gateway supports multiple Chains
  • Events Service handles Safe indexing events from Transaction Service and deliver as HTTP webhooks.

Setup

  1. Create a VM in GCP (inside our instance group in arianee-nodes project)
  2. Find the SSH key in dashlane to pull this repo and paste it in the script
  3. Connect to the VM using this command
    gcloud compute ssh --zone "<VM_REGION>" "<VM_NAME>"  --project "<GCP_PROJECT_NAME" -- -L 8000:localhost:8000
    and copy/paste the script in the terminal, wait a few minutes
  4. Services should be up and running inside the VM, if you are connected to the VM using the previous command, you can check that everything is fine by browsing to http://localhost:8000/cfg/admin

More information

This repository contains the minimum viable local setup for our backend services. The setup presented here, assumes that only L2 safes will be used. Last stable version will be used for every service, but you can adjust them on .env, e.g.:

CFG_VERSION=v2.60.0
CGW_VERSION=v0.4.1
TXS_VERSION=v4.6.1
UI_VERSION=v1.2.0
EVENTS_VERSION=v0.5.0

You can change them to the version you are interested available in docker-hub but be aware that not all versions of our services are compatible with each other, so do so at your own risk.

About

One `docker-compose.yml` file to rule them all

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 100.0%