Skip to content

snapshot-labs/snapshot-hub

Repository files navigation

Snapshot Logo

Snapshot hub

This is a hub for Snapshot network that stores the database and forwards new messages to peers. The hub holds a private key to sign valid messages.

Install

  1. Install Node.js, clone the repository, then say:
yarn
  1. Copy .env.example, rename it to .env and set a value for these config vars:
  • HUB_DATABASE_URL: The database connection string. You will need to run your own MySQL database or use a Cloud service like JawsDB.
  • SEQ_DATABASE_URL: We now use messages from a different database, it can be same as HUB_DATABASE_URL in your local
  • RELAYER_PK: This is the private key of the hub. The hub counter-sign every accepted message with this key.
  1. Create the database schema

Run this query on the MySQL database to create the initial schema with the required tables: https://github.com/snapshot-labs/snapshot-hub/blob/master/src/helpers/schema.sql

Run

  • Use this command to run the hub:
yarn start
{
  "name": "snapshot-hub",
  "network": "mainnet",
  "version": "0.1.3",
  "tag": "alpha",
  "relayer": "0x8BBE4Ac64246d600BC2889ef5d83809D138F03DF"
}

Load a space setting

To load a space settings in the database you can go on this endpoint http://localhost:3000/api/spaces/yam.eth/poke (change yam.eth with the space you want to activate).

License

Snapshot is open-sourced software licensed under the © MIT license.