Skip to content

sebdeveloper6952/godvm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Simple framework to build DVMs with golang

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages