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 Node.js, clone the repository, then say:
yarn
- 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 usemessages
from a different database, it can be same asHUB_DATABASE_URL
in your localRELAYER_PK
: This is the private key of the hub. The hub counter-sign every accepted message with this key.
- 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
- Use this command to run the hub:
yarn start
- Go on this page: http://localhost:3000/api if everything is fine it should return details of the hub example:
{
"name": "snapshot-hub",
"network": "mainnet",
"version": "0.1.3",
"tag": "alpha",
"relayer": "0x8BBE4Ac64246d600BC2889ef5d83809D138F03DF"
}
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).
Snapshot is open-sourced software licensed under the © MIT license.