Git Product home page Git Product logo

hermes's People

Contributors

lathanbritz avatar pkcs8 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

hermes's Issues

Hermes should auto-reconnect to rippled

In case of rippled connection failure due to network, rippled upgrade or other outages - Hermes does not automatically reconnect to its rippled. It should auto-reconnect because not missing any validation messages is the entire premise of Hermes.

Add support for setting log level

npmlog supports the following log levels:

log.silly(prefix, message, ...)
log.verbose(prefix, message, ...)
log.info(prefix, message, ...)
log.http(prefix, message, ...)
log.warn(prefix, message, ...)
log.error(prefix, message, ...)

Add support for setting custom log level in .env file.

.env.example file recommends rippled admin port 6006

.env.example config file recommends RIPPLED_URL = 'ws://localhost:6006' as the default RIPPLED_URL. Port 6006 is the admin port, and fetching validation messages via the admin port is an overkill. Change the recommended url to use the unprivileged 6005 port.

Hermes throws 404 error at /

Hermes can show a helpful page at its root url /. When Hermes http service is proxy passed behind nginx/apache, the root url can show info about auto-configure url, peer list etc.

Jammy Ubuntu

Seems the newer LTE Ubuntu 22.04.1 LTS uses libssl3, and thus libssl1.1 is deprecated at this point.

yarn peer [add|ls|remove] commands don't return shell

npm run peer [add|ls|remove] or yarn peer [add|ls|remove] don't return control back to the shell. This is probably happening because database connection is still active. Fix database connection logic so the connection can be closed when needed.

yarn keypair command should list subcommands

yarn keypair command should list its subcommands instead of returning quietly. Something like:

yarn run v1.22.19
$ node dist/cmd/keypair/index.js help
index.js [command]

Commands:
  index.js generate     Generate a new keypair and save      [aliases: gen, new]
  index.js public       Print public key                  [aliases: pub, pubkey]
  index.js cert         Print X.509 certificate     [aliases: certificate, x509]
  index.js fingerprint  Print certificate fingerprint              [aliases: fp]

Options:
  --version  Show version number                                       [boolean]
  --help     Show help                                                 [boolean]
Done in 0.10s.

npm run peer add autodetection breaks on trailing slashes

The code that auto-appends /api/v1/server/config should handle URLs with trailing slashes correctly. In this example:

npm run peer add https://hermes.rippleitin.nz:50588

works, but:

npm run peer add https://hermes.rippleitin.nz:50588/

throws 404 error.

npm-run-peer-add

Error: 14 UNAVAILABLE: read ECONNRESET

Handle these errors thrown by gRPC client connections:

[2] node:events:515
[2]       throw er; // Unhandled 'error' event
[2]       ^
[2] 
[2] Error: 14 UNAVAILABLE: read ECONNRESET

Add npm run command to verify validation signatures

Hermes stores a large number of validation messages locally in it database. There's no easy way to verify signatures for validation messages stored in the db. A command that iterates over the validations and verifies them all would be handy.

npm run validation verify --all
npm run validation verify --from LEDGER_FROM --to LEDGER_TO

Add a lock to ensure single gRPC client connection

setInterval(pollAllPeers, ENV.PEERSYNC_POLL_INTERVAL, peerManager) in peersync processor would keep starting new connections, even if the previous one is active. Added a lock to ensure there's only one client connection per peer.

pm2 has been killed by signal, dumping process list before exit... CentOS8 node v18.8.0

This error is replicated in the Hermes environment using CentOS 8. This has also been a reported error with previous Node versions

Fix that was applied and works (for my environment).

Stop PM2

Edit file: /etc/systemd/system/pm2-root.service

Add new line: Environment=PM2_PID_FILE_PATH=/run/pm2.pid

And replace: PIDFile=/root/.pm2/pm2.pid to: PIDFile=/run/pm2.pid

restart PM2

Source: https://stackoverflow.com/questions/62814539/pm2-keeps-getting-killed-every-90-seconds-on-centos-8

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.