Skip to content

Instantly share code, notes, and snippets.

0x002fE59EB60a4ca445A44937efcf7BC5c564Cada
0x010B1Bb03Bf1C67fa8AA7b87d6056d835E3E8834
0x0119Dc04217b943119C8817eCe605a73b20c09a2
0x018D22d18cDeD23a39D94C3B21910E29dAc1ba1E
0x01b3Ef7995b14F1b98c5ECaECAc84e177a282365
0x01C1000288e44466e2c48160DC8DC4dbc45C86C2
0x01D25877898FC20f0a07ABE67F0f65b293D08858
0x01e60b4635db2B6281B98C8E6191ea122aFFbeef
0x0229ab18438Fd5Af6235D5011dF53e3b724D1544
0x026C4936017074EDADf93D8B187B4C7219967c4D
import { InfluxDB } from '@influxdata/influxdb-client'
const client = new InfluxDB({
url: 'https://eu-central-1-1.aws.cloud2.influxdata.com',
token: process.env.INFLUX_TOKEN, // julian-station-read
timeout: 5 * 60 * 1000
})
const queryApi = client.getQueryApi('Filecoin Station')
const query = `
from(bucket:"station")
const notaries = await findNotaries()
const allLdnClients = []
for (const notaryAddressId of notaries) {
const clients = await getVerifiedClientsOfNotary(notaryAddressId)
allLdnClients.push(...clients)
}
removeDuplicates(allLdnClients)
async function findNotaries (filter) {
@juliangruber
juliangruber / fw.sh
Created March 2, 2023 15:58
l1-firewall
#!/usr/bin/env bash
ipv4ranges=(
10.0.0.0/8
100.64.0.0/10
169.254.0.0/16
172.16.0.0/12
192.0.0.0/24
192.0.2.0/24
192.168.0.0/16

Current Saturn topology, with multi-peer retrieval (TBD) between L1<>L2:

flowchart TB
HttpClient <--> DNS[L1 DNS]
DNS <--> L1'
subgraph L1s[L1s deployed to data centers]
  L1
  L1'
 L1''
$ npm run build
> [email protected] build
> aegir build
[08:47:41] tsc [started]
src/circuit/auto-relay.ts:54:80 - error TS2345: Argument of type '(evt: CustomEvent<Connection>) => void' is not assignable to parameter of type 'EventHandler<CustomEvent<Connection>> | null'.
Type '(evt: CustomEvent<Connection>) => void' is not assignable to type 'EventCallback<CustomEvent<Connection>>'.
Types of parameters 'evt' and 'evt' are incompatible.
Type 'CustomEvent<import("/Users/julian/dev/libp2p/js-libp2p/node_modules/@libp2p/interface-connection-manager/node_modules/@libp2p/interface-connection/dist/src/index").Connection>' is not assignable to type 'CustomEvent<import("/Users/julian/dev/libp2p/js-libp2p/node_modules/@libp2p/interface-connection/dist/src/index").Connection>'.

L1<>L2 architecture

Conventions

  • Naming
    • L1: L1 machine
    • l1: Individual l1 worker process
  • The overview graph lists all involved components. In future graphs irrelevant components are omitted for readability, which doesn't mean they have been removed

Problems to solve

const dgram = require('node:dgram')
const util = require('node:util')
const glossy = require('glossy')
const syslogProducer = new glossy.Produce()
const socket = dgram.createSocket('udp4')
const streams = {
stdout: process.stdout.write.bind(process.stdout),
stderr: process.stderr.write.bind(process.stderr)
const fs = require('fs')
const hyperdrive = require('hyperdrive')
const src = `/tmp/${Math.random()}/`
console.log(src)
const storage = require('dat-storage')(src)
const archive = hyperdrive(storage, { latest: true, indexing: true })
archive.writeFile('/dat.json', 'hi', err => {
if (err) throw err
const fs = require('fs')
const src = `/tmp/${Math.random()}`
Dat(src, (err, dat) => {
if (err) throw err
dat.archive.writeFile('/dat.json', 'hi', err => {
if (err) throw err
console.log(fs.readFileSync(`${src}/dat.json`)) // => empty
dat.archive.readFile('/dat.json', (err, data) => {