For the needs of the Moderation service and other apps. Nexus could replicate the /events endpoint of the homeserver, with the exact same API, but aggregating across all homeservers it tracks.
Example /v0/events/?reverse=false&limit=14
PUT pubky://dsfbr4knnzjgzj617dihte3xtzk8u7egazgx7cwzxyxdn14qnheo/pub/pubky.app/profile.json
PUT pubky://dsfbr4knnzjgzj617dihte3xtzk8u7egazgx7cwzxyxdn14qnheo/pub/pubky.app/blobs/W8V7598CBDP2SG1JAY7R1SR37W
PUT pubky://dsfbr4knnzjgzj617dihte3xtzk8u7egazgx7cwzxyxdn14qnheo/pub/pubky.app/files/0032W205HHRD0
PUT pubky://dsfbr4knnzjgzj617dihte3xtzk8u7egazgx7cwzxyxdn14qnheo/pub/pubky.app/profile.json
PUT pubky://dsfbr4knnzjgzj617dihte3xtzk8u7egazgx7cwzxyxdn14qnheo/pub/pubky.app/last_read
PUT pubky://dsfbr4knnzjgzj617dihte3xtzk8u7egazgx7cwzxyxdn14qnheo/pub/pubky.app/last_read
PUT pubky://dsfbr4knnzjgzj617dihte3xtzk8u7egazgx7cwzxyxdn14qnheo/pub/pubky.app/blobs/W8V7598CBDP2SG1JAY7R1SR37W
PUT pubky://dsfbr4knnzjgzj617dihte3xtzk8u7egazgx7cwzxyxdn14qnheo/pub/pubky.app/files/0032W24EYQ3M0
PUT pubky://dsfbr4knnzjgzj617dihte3xtzk8u7egazgx7cwzxyxdn14qnheo/pub/pubky.app/profile.json
PUT pubky://dsfbr4knnzjgzj617dihte3xtzk8u7egazgx7cwzxyxdn14qnheo/pub/pubky.app/last_read
PUT pubky://ujikizdojcuwn3m7nfypzt1xwiz8t68rqr9qbdbagmgotwd1duho/pub/pubky.app/blobs/W8V7598CBDP2SG1JAY7R1SR37W
PUT pubky://ujikizdojcuwn3m7nfypzt1xwiz8t68rqr9qbdbagmgotwd1duho/pub/pubky.app/files/0032W24NPGW00
PUT pubky://ujikizdojcuwn3m7nfypzt1xwiz8t68rqr9qbdbagmgotwd1duho/pub/pubky.app/profile.json
DEL pubky://ujikizdojcuwn3m7nfypzt1xwiz8t68rqr9qbdbagmgotwd1duho/pub/pubky.app/settings
cursor: 0032W24REPR5W
The implementation consist of a new Redis SortedSet where we write down timestamp and PUT/DEL pubky://{pubky}/object (to be crockford32 encoded as in the example above).
For the needs of the Moderation service and other apps. Nexus could replicate the
/eventsendpoint of the homeserver, with the exact same API, but aggregating across all homeservers it tracks.Example
/v0/events/?reverse=false&limit=14The implementation consist of a new Redis SortedSet where we write down
timestampandPUT/DEL pubky://{pubky}/object(to be crockford32 encoded as in the example above).