Git Product home page Git Product logo

dassie's People

Contributors

justmoon avatar sublimator avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dassie's Issues

Peer happy gets the log

image

If you want to click away on the + you're slowed down a bit, as the new node buttons (which will navigate to the logging for the new node) will be placed under the cursor.

Ledger Support Tracker

This issue is the main tracker for ledger support.

Planned Ledgers

Ledger Currency Status
XRPL XRP Backlog
Bitcoin-Lightning BTC Backlog

Not everything should be an actor

There are currently some elements that are actors for legacy reasons but probably shouldn't be.

Here are candidates to be converted to either functions, or computed values:

  • packages/app-node/src/backend/crypto/signer.ts
  • packages/app-node/src/backend/ilp-connector/process-packet.ts
  • packages/app-node/src/backend/ilp-http/send-ilp-http-packets.ts
  • packages/app-node/src/backend/peer-protocol/actors/handle-peer-message.ts
  • packages/app-node/src/backend/peer-protocol/actors/send-peer-message.ts
  • packages/app-node/src/backend/peer-protocol/modify-node-table.ts

Nodes crashing when address is already used

Some nodes crash if address or port already used. I can't interact with them and when trying to open wallet inside in browser it simply not responding. So far there's no interface to restart them with different address.

Errors in log

2.719 [n1] stderr 2022-12-04T12:47:55.675Z ilp-protocol-ildcp received client info. clientAddress=test.das.stub.n1.VXzHn5 assetScale=9 assetCode=XRP
2.802 [n1] stderr node:events:491
2.802 [n1] stderr       throw er; // Unhandled 'error' event
2.802 [n1] stderr       ^
2.802 [n1] stderr  
2.802 [n1] stderr Error: listen EADDRINUSE: address already in use :::5000
2.802 [n1] stderr     at __node_internal_captureLargerStackTrace (node:internal/errors:484:5)
2.802 [n1] stderr     at __node_internal_uvExceptionWithHostPort (node:internal/errors:583:12)
2.802 [n1] stderr     at Server.setupListenHandle [as _listen2] (node:net:1485:16)
2.802 [n1] stderr     at listenInCluster (node:net:1533:12)
2.802 [n1] stderr     at Server.listen (node:net:1621:7)
2.802 [n1] stderr     at new WebSocketServer (/Users/radhy/Documents/@proyek/dassie/node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket-server.js:97:20)
2.802 [n1] stderr     at runDebugRpcServer (/Users/radhy/Documents/@proyek/dassie/packages/app-dev/src/runner/effects/debug-rpc-server.ts:55:15)
2.802 [n1] stderr     at loopEffect (/Users/radhy/Documents/@proyek/dassie/packages/lib-reactive/src/reactor.ts:122:28)
2.802 [n1] stderr     at Reactor.use (/Users/radhy/Documents/@proyek/dassie/packages/lib-reactive/src/reactor.ts:42:9)
2.802 [n1] stderr     at EffectContext.run (/Users/radhy/Documents/@proyek/dassie/packages/lib-reactive/src/effect.ts:150:25)
2.802 [n1] stderr     at debugRunner (/Users/radhy/Documents/@proyek/dassie/packages/app-dev/src/runner/launchers/node:31:7)
2.802 [n1] stderr     at async loopEffect (/Users/radhy/Documents/@proyek/dassie/packages/lib-reactive/src/reactor.ts:124:7)
2.802 [n1] stderr Emitted 'error' event on WebSocketServer instance at:
2.802 [n1] stderr     at Server.emit (node:events:513:28)
2.802 [n1] stderr     at emitErrorNT (node:net:1512:8)
2.802 [n1] stderr     at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
2.802 [n1] stderr   code: 'EADDRINUSE',
2.802 [n1] stderr   errno: -48,
2.802 [n1] stderr   syscall: 'listen',
2.802 [n1] stderr   address: '::',
2.802 [n1] stderr   port: 5000
2.802 [n1] stderr }
2.802 [n1] stderr 
2.802 [n1] stderr Node.js v18.12.1

Startup issues

image

Maybe just MacOS?

                                                                                                                                                                                 (base) ➜  dassie git:(main) rm -rf local 
(base) ➜  dassie git:(main) pnpm start

> @dassie/[email protected] start /Users/nicholasdudfield/projects/dassie
> node packages/app-dev/bin/start-development-server.js

  Dassie//dev

  Starting development server...

  Debug UI: https://localhost/ <- Start here

‼ child exited code=1 signal=null 
‼ error in actor actor="NodeActorsMapped[0]" path="RootActor.RunNodesActor.NodeActorsMapped[0]" 

Error: child exited
    at ChildProcess.handleChildExit (/Users/nicholasdudfield/projects/dassie/packages/app-dev/src/backend/functions/run-child-process.ts:58:20)
    at ChildProcess.emit (node:events:514:28)
    at Process.ChildProcess._handle.onexit (node:internal/child_process:294:12)

‼ error starting nodes

Error: child exited
    at ChildProcess.handleChildExit (/Users/nicholasdudfield/projects/dassie/packages/app-dev/src/backend/functions/run-child-process.ts:58:20)
    at ChildProcess.emit (node:events:514:28)
    at Process.ChildProcess._handle.onexit (node:internal/child_process:294:12)

! proxy connection refused, maybe the node is still starting up port=5003 
! proxy connection refused, maybe the node is still starting up port=5003 
! proxy connection refused, maybe the node is still starting up port=5003 
! proxy connection refused, maybe the node is still starting up port=5003 
! proxy connection refused, maybe the node is still starting up port=5003 
! proxy connection refused, maybe the node is still starting up port=5003 
! proxy connection refused, maybe the node is still starting up port=5002 
! proxy connection refused, maybe the node is still starting up port=5002 
! proxy connection refused, maybe the node is still starting up port=5002 
! proxy connection refused, maybe the node is still starting up port=5002 
! proxy connection refused, maybe the node is still starting up port=5002 
! proxy connection refused, maybe the node is still starting up port=5002 
! proxy connection refused, maybe the node is still starting up port=5004 
! proxy connection refused, maybe the node is still starting up port=5004 
! proxy connection refused, maybe the node is still starting up port=5004 
! proxy connection refused, maybe the node is still starting up port=5004 
! proxy connection refused, maybe the node is still starting up port=5001 
! proxy connection refused, maybe the node is still starting up port=5001 
! proxy connection refused, maybe the node is still starting up port=5001 
! proxy connection refused, maybe the node is still starting up port=5001 
! proxy connection refused, maybe the node is still starting up port=5001 
! proxy connection refused, maybe the node is still starting up port=5001 
! proxy connection refused, maybe the node is still starting up port=5001 
! proxy connection refused, maybe the node is still starting up port=5001 

`pnpm build` script fails

packages/lib-itergen-utils build$ rollup -c
│ [!] TypeError: hashbang is not a function
│     at createLibraryConfig (file:///Users/nicholasdudfield/projects/dassie/common/config/rollup.js:16:17)
│     at file:///Users/nicholasdudfield/projects/dassie/packages/lib-itergen-utils/rollup.config.js:3:16
│     at ModuleJob.run (node:internal/modules/esm/module_job:193:25)
│     at async Promise.all (index 0)
│     at ESMLoader.import (node:internal/modules/esm/loader:530:24)
│     at importModuleDynamicallyWrapper (node:internal/vm/module:438:15)
│     at getConfigFileExport (/Users/nicholasdudfield/projects/dassie/node_modules/.pnpm/[email protected]/node_modules/rollup/dist/shared/loadConfigFile.js:432:17)
│     at Object.loadConfigFile (/Users/nicholasdudfield/projects/dassie/node_modules/.pnpm/[email protected]/node_modules/rollup/dist/shared/loadConfigFile.js:391:59)
│     at getConfigs (/Users/nicholasdudfield/projects/dassie/node_modules/.pnpm/[email protected]/node_modules/rollup/dist/bin/rollup:1680:39)
│     at runRollup (/Users/nicholasdudfield/projects/dassie/node_modules/.pnpm/[email protected]/node_modules/rollup/dist/bin/rollup:1657:43)

Seems to be some kind of issue with the default imports not working

In common/config/rollup.js:

import hashbang from "rollup-plugin-hashbang"

At runtime hashbang is an object with a "default" property

Error running on Mac M1

Getting the following error when trying to run on MacBook Pro M1:

error in effect {
  effect: 'validateCertificates',
  path: 'rootEffect.runNodes.keepArrayEffectsCache.handleArrayChanges..validateCertificates',
  error: ProcessOutput {
    stdout: '',
    stderr: 'Algorithm Ed25519 not found\n' +
    'usage: genpkey [-algorithm alg] [cipher] [-genparam] [-out file]\n' +
    '    [-outform der | pem] [-paramfile file] [-pass arg]\n' +
    '    [-pkeyopt opt:value] [-text]\n' +
    '\n' +
    ' -algorithm name    Public key algorithm to use (must precede -pkeyopt)\n' +
    ' -genparam          Generate a set of parameters instead of a private key\n' +
    ' -out file          Output file to write to (default stdout)\n' +
    ' -outform format    Output format (DER or PEM)\n' +
    ' -paramfile file    File to load public key algorithm parameters from\n' +
    '                    (must precede -pkeyopt)\n' +
    ' -pass arg          Output file password source\n' +
    ' -pkeyopt opt:value Set public key algorithm option to the given value\n' +
    ' -text              Print the private/public key in human readable form\n',
    signal: null,
    exitCode: 1
  }
}

Packet Visualizer

It would be great to have some kind of packet visualization view that shows the nested frames
This could potentially help people learn the IL stack
Given Dassie is intended partially as a developer playground, this may be suitable

Startup environment check

Edit by @justmoon: ed25519 no longer required, added Node.js version check

Nice if it checks for

  1. openssl ed25519 support (openssl list -public-key-algorithms | grep ED25519) (no longer required)
  2. mkcert installation
  3. {n1,n2, ...}.localhost domain name resolution to 127.0.0.1
    1. *.localhost works on some linux installations, perhaps even without /etc/hosts entries
    2. can set dnsmasq on MacOS
  4. check node.js version matches .node-version

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.