- Aggregates data from Nostr, Bluesky, and Farcaster into a common schema.
- Stores data on Arweave for long-term, decentralized storage.
- Supports five primary event types:
Post
,Repost
,Like
,Follow
,Profile
. - Includes a basic event browser for viewing and searching indexed data. Additionally, this browser performs in-place signature validations of Nostr and Farcaster posts ensuring their integrity.
- Nostr: A minimalist, decentralized protocol with a publish-subscribe architecture.
- Bluesky: A federated protocol developed by Bluesky, Inc., with strict control over the specification.
- Farcaster: Built on Ethereum, Farcaster uses a blockchain-based model for social interactions.
To get started with Hoover, follow these steps:
-
Install Go (version 1.22.6 or higher) Go Download
-
Set up & Run Arlocal for local Arweave testing Arlocal Setup
-
Run the Test Harness: The test harness will simulate a running Arweave environment.
Run the following command from the project root:
go run ./cmd/testharness/. http://localhost:1984 27xHJ0MNsBUKFIdOiQ3OlrZdDzSNfBPGnp6YVmWKKxU 1000
-
Run the Hoover: With the test harness running, you can now start Hoover:
WALLET_FILE=cmd/testharness/keyfile.json go run ./cmd/hoover/.
-
Start the Browser Interface: Finally, start the browser to view and interact with the Hoover data:
cd browser npm run dev
Upon running this command, you should be presented with a clickable http link which allows you to view the Hoover's output.
To learn more about the browser, click here
note: arlocal, the test harness, and the
hoover
must be ran in the background in that order for the browser to work
For a full guide to set up and run the
hoover
, see the Testing Environment Setup
Hoover works by aggregating data from decentralized social networks and formatting it for storage on Arweave. It supports five primary event types:
Post
- Basic text content, potentially containing links and references to other users or events.Repost
- An event re-published by a user for their followers.Like
- A user’s positive reaction to a post or event.Follow
- A public declaration of subscribing to another user.Profile
- User metadata, such as display name, avatar, and other contact information.
For full details on data formats and bundling principles, see the Data Specification.
Our project milestones cover the development process, goals, and task completion. Check out the detailed milestones in the Project Milestones Document.
This project was developed by Hubmaker Labs, a company specializing in decentralized applications and infrastructure, under contract with Arweave, whose support and funding made this work possible.
- David Vennik (Nostr & Bluesky Aggregation, Arweave Test Harness) - me@mleku.dev
- Akash Kumar (Farcaster Aggregation) - akashkumar1691@gmail.com
- Selami Cetinguney (Data Browser example app) - selami.c@sbytes-it.com
We are grateful to Arweave for enabling the development of Hoover and its role in advancing decentralized, long-term data storage.