Compare commits

..

No commits in common. "cf201ce7f476d1729639fa29b181a531bd2b562b" and "8379fb73a4b116c5bcc1fe02dade3fc2e55e352d" have entirely different histories.

6 changed files with 16 additions and 84 deletions

View File

@ -1,41 +0,0 @@
pipeline:
build:
image: git.lumeweb.com/lumeweb/ci-node
commands:
- yarn
- yarn build
package:
image: ghcr.io/goreleaser/nfpm
commands:
- nfpm pkg --packager deb
publish_focal:
image: git.lumeweb.com/lumeweb/aptly-publisher
settings:
apt_username:
from_secret: apt_username
apt_password:
from_secret: apt_password
repo: apt.web3relay.io
folder: ubuntu
distro: focal
gpg_password:
from_secret: gpg_password
publish_jammy:
image: git.lumeweb.com/lumeweb/aptly-publisher
settings:
apt_username:
from_secret: apt_username
apt_password:
from_secret: apt_password
repo: apt.web3relay.io
folder: ubuntu
distro: jammy
gpg_password:
from_secret: gpg_password
purge_cdn:
image: git.lumeweb.com/lumeweb/do-cdn-purge
settings:
DIGITALOCEAN_ACCESS_TOKEN:
from_secret: DIGITALOCEAN_ACCESS_TOKEN
DIGITALOCEAN_CDN_ID:
from_secret: DIGITALOCEAN_CDN_ID

View File

@ -1,23 +0,0 @@
name: "lumeweb-relay-plugin-handshake"
arch: "amd64"
platform: "linux"
version: "v0.1.0"
section: "default"
priority: "extra"
maintainer: "Derrick Hammer contact@lumeweb.com"
description: Handshake plugin for lumeweb-relay
vendor: "Hammer Technologies LLC"
homepage: "https://lumeweb.com"
license: "MIT"
contents:
- src: ./build/Release/bcryto.node
dst: /etc/lumeweb/relay/plugins/build/Release/bcryto.node
- src: ./build/Release/goosig.node
dst: /etc/lumeweb/relay/plugins/build/Release/goosig.node
- src: ./build/Release/leveldown.node
dst: /etc/lumeweb/relay/plugins/build/Release/leveldown.node
- src: ./build/Release/mrmr.node
dst: /etc/lumeweb/relay/plugins/build/Release/mrmr.node
scripts:
postinstall: ./pkg/scripts/postinstall.sh
preremove: ./pkg/scripts/preremove.sh

View File

@ -6,11 +6,10 @@
"build": "bash build.sh" "build": "bash build.sh"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "^18.11.10", "@lumeweb/relay": "https://github.com/LumeWeb/relay.git",
"esbuild": "^0.15.5" "esbuild": "^0.15.5"
}, },
"dependencies": { "dependencies": {
"@lumeweb/relay-types": "https://git.lumeweb.com/LumeWeb/relay-types.git",
"hs-client": "^0.0.11", "hs-client": "^0.0.11",
"hsd": "https://github.com/LumeWeb/hsd.git#spv-namestate", "hsd": "https://github.com/LumeWeb/hsd.git#spv-namestate",
"random-key": "^0.3.2" "random-key": "^0.3.2"

View File

@ -1,3 +0,0 @@
#!/usr/bin/env bash
systemctl restart lumeweb-relay.service

View File

@ -1,3 +0,0 @@
#!/usr/bin/env bash
systemctl restart lumeweb-relay.service

View File

@ -1,4 +1,9 @@
import type { Plugin, PluginAPI } from "@lumeweb/relay-types"; import type {
Plugin,
PluginAPI,
RPCResponse,
RPCRequest,
} from "@lumeweb/relay";
// @ts-ignore // @ts-ignore
import rand from "random-key"; import rand from "random-key";
// @ts-ignore // @ts-ignore
@ -6,11 +11,9 @@ import SPVNode from "hsd/lib/node/spvnode.js";
// @ts-ignore // @ts-ignore
import { NodeClient } from "hs-client"; import { NodeClient } from "hs-client";
async function boot(api: PluginAPI) { async function boot(config: any) {
let hsdServer: SPVNode; let hsdServer: SPVNode;
const { config } = api;
let clientArgs = { let clientArgs = {
network: "main", network: "main",
host: "127.0.0.1", host: "127.0.0.1",
@ -35,20 +38,20 @@ async function boot(api: PluginAPI) {
}); });
hsdServer.on("abort", async (err: any) => { hsdServer.on("abort", async (err: any) => {
const timeout = setTimeout(() => { const timeout = setTimeout(() => {
api.logger.error("Shutdown is taking a long time. Exiting."); console.error("Shutdown is taking a long time. Exiting.");
process.exit(3); process.exit(3);
}, 5000); }, 5000);
timeout.unref(); timeout.unref();
try { try {
api.logger.error("Shutting down..."); console.error("Shutting down...");
await hsdServer.close(); await hsdServer.close();
clearTimeout(timeout); clearTimeout(timeout);
api.logger.error((err as Error).stack); console.error((err as Error).stack);
process.exit(2); process.exit(2);
} catch (e: any) { } catch (e: any) {
api.logger.error( console.error(
`Error occurred during shutdown: ${(e as Error).message}` `Error occurred during shutdown: ${(e as Error).message}`
); );
process.exit(3); process.exit(3);
@ -63,7 +66,7 @@ async function boot(api: PluginAPI) {
hsdServer.startSync(); hsdServer.startSync();
} catch (e: any) { } catch (e: any) {
api.logger.error((e as Error).stack); console.error((e as Error).stack);
} }
})(); })();
} else { } else {
@ -81,14 +84,14 @@ async function boot(api: PluginAPI) {
const plugin: Plugin = { const plugin: Plugin = {
name: "handshake", name: "handshake",
async plugin(api: PluginAPI): Promise<void> { async plugin(api: PluginAPI): Promise<void> {
const client = await boot(api); const client = await boot(api.config);
api.registerMethod("getnameresource", { api.registerMethod("getnameresource", {
cacheable: true, cacheable: true,
async handler(name: string): Promise<any> { async handler(request: RPCRequest): Promise<RPCResponse> {
let resp; let resp;
try { try {
resp = await client.execute("getnameresource", name); resp = await client.execute("getnameresource", request.data);
} catch (e: any) { } catch (e: any) {
e = e as Error; e = e as Error;
const eType = e.type.toLowerCase(); const eType = e.type.toLowerCase();