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''
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) { |
#!/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>'. |
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) => { |