Go-DVM
A simple library to write DVMs using golang.
Every time I want to write a new DVM, I don't want to write the same stuff:
- relay logic
- event logic
- payment logic
Make you focus on your DVM logic.
- relay connection handling
- listen to job request events
- publish job feedback and result events
- publish kind
0
(Profile Metadata) and kind31990
(NIP-89 Application Handler) events for discoverability of your DVM.
Refer to NIP-90 for more information.
Refer to the examples folder for complete code examples.
TODO
- fully implement nip-90
- add job kinds
- advertise DVMs nip-89
- job request relay list: publish job feedback, result, to list of relays
- job request input as text
- job request input as event
- job request input as url
- parse job input marker to be forwarded to DVMs
- job request input output of another job
- fix dvm advertisement (use same d tag)
- wait for multiple events/jobs for input to dvm
- include bid amount in input to DVMs so they can decide to accept/reject the job
- encrypted job params
- support zaps