@enc-protocol/timeline-node

0.2.1

ENC Timeline client (Node.js) — TimelineRestClient, TimelineWsClient

npm i @enc-protocol/timeline-node

@enc-protocol/timeline-node

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

Install

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

REST Usage

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

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

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

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

WebSocket Usage

import { TimelineWsClient } from "@enc-protocol/timeline-node/ws.js"

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

API

TimelineRestClient (extends AppNodeClient)

MethodParamsReturns
async public(content)content{ ok, error? }
async private(content)content{ ok, error? }
async query(type?)stringEvent[]
async grant(target, role)Identity, string{ ok, error? }
static async create(url, owner)string, IdentityTimelineRestClient

TimelineWsClient (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/timeline