- 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).
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.
Snapshot is open-sourced software licensed under the © MIT license.