Categorygithub.com/sebdeveloper6952/godvm
repositorypackage
0.0.0-20240223100707-31f1b76c760a
Repository: https://github.com/sebdeveloper6952/godvm.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author

# README

Go-DVM

A simple library to write DVMs using golang.

Motivation

Every time I want to write a new DVM, I don't want to write the same stuff:

  • relay logic
  • event logic
  • payment logic

Objective

Make you focus on your DVM logic.

Features

  • relay connection handling
  • listen to job request events
  • publish job feedback and result events
  • publish kind 0 (Profile Metadata) and kind 31990 (NIP-89 Application Handler) events for discoverability of your DVM.

Refer to NIP-90 for more information.

Example

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