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).

Flag codes

The hub uses flag codes (flagCode) to mark proposals and spaces for various reasons:

Flag Code Description Purpose
1 Spam/Malicious Content Reserved for content identified as spam or malicious
2 DMCA Requests Reserved for Digital Millennium Copyright Act takedown requests
3+ Future Use Additional codes may be introduced for other moderation purposes

When content is flagged, it may have restricted visibility or functionality depending on the flag type applied.

License

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

About

GraphQL API for Snapshot

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 26