Setup Instructions

1. Sign in using NIP-07 compatible extension (e.g. Alby or nos2x).
2. Change Neo4j password in the Neo4j Browser (see link above) to the one you provided during installation. Refresh this page. This will trigger a script to set up Neo4j Constraints and Indexes. You can verify successful execution in the Neo4j Browser, which will show about 20 Property keys.
3. Toggle ON the Turn on Databases, Stream WoT Events, and Sync & Calculate buttons (below).
4. Monitor Routine Tasks (activated by Sync & Calculate) in the panel below. Wait for them to complete at least once. May take an hour or two the first time. Once completed, these will repeat every 6 hours. You can navigate away from this page while the tasks are running.
5. While you're waiting, enable NIP-85 by publishing your kind 10040 event (see NIP-85 button in the navbar above). Learn more about making your personalized WoT scores available to clients in the About section.
6. Once Calculations have completed their first cycle, turn on the Stream Filtered Content toggle button. This will start streaming filtered content (kind 1 events, etc) to your relay!

Activate Brainstorm iToggle individual components of the system. Each button controls multiple services.

Turn on Databases iControls Neo4j and strfry database services.

Toggle strfry and neo4j on/off.

Stream WoT Events iControls the ETL pipeline streaming services that process FOLLOWS, MUTES, and REPORTS relationships in real-time.

Stream follows, mutes, and reports in real time.

Sync & Calculate iControls the timer service that regularly:
  • negentropy sync
  • calculate scores
  • update blacklist, whitelist, and NIP-85
  • Routine (every 6 hours) data synchronization, recalculation and export of GrapeRank and other scores, and redetermination/export ofblacklist, whitelist, and NIP-85.

    Stream Filtered Content iControls whether content events (kinds 1, 7, 30818, etc.) from whitelisted users are streamed through the relay.

    Stream content from whitelisted users only. Do this only after the whitelist has been calculated.

    Routine Tasks iThese tasks are run automatically every 6 hours when the Stream & Calculate (which controls the processAllTasks systemd service timer) is toggled on. Alternatively, you can run each task one at a time using the buttons below on the right.

    Negentropy: download events in batch to strfry

    FOLLOWS, MUTES, & REPORTS iUse negentropy to download all available kinds 3, 1984, and 1000 events from wss://relay.hasenpfeffr.com. Should take 10-15 min the first time.

    0%

    Profiles iUse negentropy to download all available kind 0 events from wss://profiles.nostr1.com. May take 25-30 min the first time.

    0%

    Personal iUse negentropy to download all available Brainstorm owner events from wss://relay.primal.net

    0%

    Transfer from strfry to Neo4j

    Batch Transfer iBatch transfer follows, mutes, reports and associated pubkeys from strfry to Neo4j. This is typically performed ONLY ONCE when setting up your relay for the first time. Thereafter, the Reconciliation task takes over routine transfers. May take 15-20 minutes when running this for the first time.

    0%

    Reconciliation iReconciles Neo4j database with strfry to capture any missed events since last reconciliation. This removes old relationships in addition to adding new ones.

    0%

    Webs of Trust Score Calculations

    Hops iCalculates network distance (hops) between users in the Web of Trust based on FOLLOWS relationships in Neo4j. Takes approximately 2 minutes to compute.

    0%

    PageRank iCalculates importance scores using the personalized PageRank algorithm on the FOLLOWS relationships in Neo4j. Completes in about half a minute.

    0%

    GrapeRank iPersonalized ranking algorithm that considers FOLLOWS (positive), MUTES (negative), and REPORTS (negative) relationships with configurable weights. Should take 4 or 5 minutes to complete.

    0%

    Verified Followers iCalculates the number of followers whose influence score is above a threshold.

    0%

    Reports iProcesses reports according to report type.

    0%

    Webs of Trust Score Export

    Blacklist iGenerates a blacklist of pubkeys based on negative ratings from MUTES and REPORTS relationships

    0%

    Whitelist iGenerates a whitelist of pubkeys based on GrapeRank scores for content filtering in the strfry relay

    0%

    NIP-85 Export iExports Web of Trust scores as Trusted Assertions following NIP-85 kind 30382 events that can be shared with other relays and clients. Currently limited to the top 100 profiles only. Eventually, will export on the order of 100 thousand events.

    0%

    Brainstorm Systemd Services

    Service Status and Control

    Manage and monitor Brainstorm systemd services.

    Service Status Actions