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!
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 Toggle individual components of the system. Each button controls multiple services.
Turn on Databases Controls Neo4j and strfry database services.
Toggle strfry and neo4j on/off.
Stream WoT Events Controls 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 Controls 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 Controls 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 These 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 Use negentropy to download all available kinds 3, 1984, and 1000 events from wss://relay.hasenpfeffr.com. Should take 10-15 min the first time.
Profiles Use negentropy to download all available kind 0 events from wss://profiles.nostr1.com. May take 25-30 min the first time.
Personal Use negentropy to download all available Brainstorm owner events from wss://relay.primal.net
Transfer from strfry to Neo4j
Batch Transfer Batch 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.
Reconciliation Reconciles Neo4j database with strfry to capture any missed events since last reconciliation. This removes old relationships in addition to adding new ones.
Webs of Trust Score Calculations
Hops Calculates network distance (hops) between users in the Web of Trust based on FOLLOWS relationships in Neo4j. Takes approximately 2 minutes to compute.
PageRank Calculates importance scores using the personalized PageRank algorithm on the FOLLOWS relationships in Neo4j. Completes in about half a minute.
GrapeRank Personalized ranking algorithm that considers FOLLOWS (positive), MUTES (negative), and REPORTS (negative) relationships with configurable weights. Should take 4 or 5 minutes to complete.
Verified Followers Calculates the number of followers whose influence score is above a threshold.
Reports Processes reports according to report type.
Webs of Trust Score Export
Blacklist Generates a blacklist of pubkeys based on negative ratings from MUTES and REPORTS relationships
Whitelist Generates a whitelist of pubkeys based on GrapeRank scores for content filtering in the strfry relay
NIP-85 Export Exports 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.
Brainstorm Systemd Services
Service Status and Control
Manage and monitor Brainstorm systemd services.
Service | Status | Actions |
---|