8000 GitHub - mattn/eventstore at refs/heads/fix-sort
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

an abstraction layer over databases for nostr events

Notifications You must be signed in to change notification settings

mattn/eventstore

 
 

Repository files navigation

eventstore

A collection of reusable database connectors, wrappers and schemas that store Nostr events and expose a simple Go interface:

type Store interface {
	// Init is called at the very beginning by [Server.Start], after [Relay.Init],
	// allowing a storage to initialize its internal resources.
	Init() error

	// Close must be called after you're done using the store, to free up resources and so on.
	Close()

	// QueryEvents is invoked upon a client's REQ as described in NIP-01.
	// it should return a channel with the events as they're recovered from a database.
	// the channel should be closed after the events are all delivered.
	QueryEvents(context.Context, nostr.Fil
5A41
ter) (chan *nostr.Event, error)

	// DeleteEvent is used to handle deletion events, as per NIP-09.
	DeleteEvent(context.Context, *nostr.Event) error

	// SaveEvent is called once Relay.AcceptEvent reports true.
	SaveEvent(context.Context, *nostr.Event) error
}

Go Reference Run Tests

command-line tool

There is an eventstore command-line tool that can be used to query these databases directly.

About

an abstraction layer over databases for nostr events

Resources

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Languages

  • Go 100.0%
0