Skip to content

khatru

a framework for making Nostr relays

write your custom relay with code over configuration

A glimpse of khatru's power

It allows you to create a fully-functional relay in 7 lines of code:

go
func main() {
	relay := khatru.NewRelay()
	db := badger.BadgerBackend{Path: "/tmp/khatru-badgern-tmp"}
    db.Init()
	relay.StoreEvent = append(relay.StoreEvent, db.SaveEvent)
	relay.QueryEvents = append(relay.QueryEvents, db.QueryEvents)
	relay.DeleteEvent = append(relay.DeleteEvent, db.DeleteEvent)
	http.ListenAndServe(":3334", relay)
}

After that you can customize it in infinite ways. See the links above.

~