Package Exports
- applesauce-dvm
- applesauce-dvm/blueprints
- applesauce-dvm/blueprints/index
- applesauce-dvm/blueprints/machine-request
- applesauce-dvm/blueprints/machine-result
- applesauce-dvm/blueprints/machine-status
- applesauce-dvm/helpers
- applesauce-dvm/helpers/index
- applesauce-dvm/helpers/kinds
- applesauce-dvm/helpers/request
- applesauce-dvm/helpers/status
- applesauce-dvm/operations
Readme
Applesauce DVM
Helpers and blueprints for NIP-90 data vending machines.
Installation
npm install applesauce-dvm
Usage
import { DVMClient } from "applesauce-dvm";
import { RelayPool, onlyEvents } from "applesauce-relay";
import { EventFactory } from "applesauce-factory";
import { SimpleSigner } from "applesauce-signers/signers";
// Create a relay pool for connections
const pool = new RelayPool();
// Create an event factory for signing and creating events
const signer = new SimpleSigner();
const factory = new EventFactory({ signer });
// Create a DVM client
const client = new DVMClient(
factory,
["wss://relay.example.com/"],
// A publish method that publishes to the relays
async (relays, event) => {
await lastValueFrom(pool.event(relays, event));
},
// A subscribe method that subscribes to the relays
(relays, filters) => {
return pool.req(relays, filters).pipe(onlyEvents());
},
);
// Make a kind 5002 translation request
client.translate("Hello, world!").subscribe((event) => {
console.log(event);
});