@enc-protocol/dm-node

0.2.1

ENC DM client (Node.js) — DMRestClient, DMWsClient

npm i @enc-protocol/dm-node

@enc-protocol/dm-node

DM Node SDK — REST + WebSocket clients for real servers.

Install

npm install @enc-protocol/dm-node --registry https://npm-registry.ocrybit.workers.dev/

REST Usage

import { DMRestClient, createIdentity } from "@enc-protocol/dm-node/rest.js"

const owner = createIdentity("alice")
const client = await DMRestClient.create("http://localhost:8787", owner)

const result = await client.message({ content: "..." })
console.log(result.ok)

const events = await client.query("message")
await client.grant(bob, "Member")

WebSocket Usage

import { DMWsClient } from "@enc-protocol/dm-node/ws.js"

const ws = new DMWsClient("ws://localhost:8787", identity, enclaveId)
await ws.connect()
ws.onEvent((event) => console.log("New:", event.type, event.content))
// later: ws.close()

API

DMRestClient (extends AppNodeClient)

MethodParamsReturns
async message(content)content{ ok, error? }
async invite(greeting)greeting{ ok, error? }
async sent(content)content{ ok, error? }
async query(type?)stringEvent[]
async grant(target, role)Identity, string{ ok, error? }
static async create(url, owner)string, IdentityDMRestClient

DMWsClient (extends AppWsClient)

MethodDescription
async connect()Open WebSocket, authenticate
onEvent(fn)Subscribe to events, returns unsubscribe fn
close()Disconnect

Dependencies

  • @enc-protocol/app-node
  • @enc-protocol/dm