Giter Site home page Giter Site logo

apotdevin / thunderhub Goto Github PK

View Code? Open in Web Editor NEW
414.0 10.0 83.0 30.42 MB

ThunderHub LND Lightning Node Manager in your Browser

Home Page: https://www.thunderhub.io/

License: MIT License

JavaScript 0.34% TypeScript 99.25% Dockerfile 0.13% Shell 0.23% Nix 0.06%
lightning-network reactjs graphql nodejs nextjs

thunderhub's People

Contributors

abhishandy avatar aftermath2 avatar ambosskeegan avatar andrewbaine avatar apotdevin avatar atomantic avatar babysnakeum avatar blckbx avatar bufo24 avatar cstenglein avatar dependabot[bot] avatar douglaz avatar gkrizek avatar gonzaloaune avatar huilder avatar jestopher-btc avatar kodylow avatar krtk6160 avatar litch avatar michael1011 avatar mutatrum avatar openoms avatar secondl1ght avatar snyk-bot avatar softspork avatar soonoo avatar torkelrogstad avatar vafanassieff avatar vilm3r avatar ybaidiuk 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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

thunderhub's Issues

--insecure-http-parser is not allowed in NODE_OPTIONS

fresh clone and install of thunderhub
running on node v12
yarn start fails with --insecure-http-parser is not allowed in NODE_OPTIONS

log from terminal follows

darrenhunter@192-168-1-9 thunderhub % yarn start
yarn run v1.22.4
$ cross-env NODE_OPTIONS='--insecure-http-parser' next start
/usr/local/bin/node: --insecure-http-parser is not allowed in NODE_OPTIONS
error Command failed with exit code 9.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
darrenhunter@192-168-1-9 thunderhub % code .
darrenhunter@192-168-1-9 thunderhub % node --version
v12.13.1

removing the NODE_OPTIONS from the start script works and next starts up

Network-agnostic macaroon configuration

Right now we have to pass in the full path to the macaroon file read by Thunderhub. Would it be an idea to allow the user to specify the path in a network-agnostic way?

Consider this:

Thunderhub accepts environment variables (or config file keys) BITCOIN_NETWORK and LND_DIR. BITCOIN_NETWORK defaults to mainnet.

  1. LND_DIR=/foo: Thunderhub searches for tls.cert at /foo/tls.cert and the macaroon at /foo/data/chain/bitcoin/mainnet/admin.macaroon
  2. LND_DIR=/foo, BITCOIN_NETWORK=testnet: Thunderhub searches for tls.cert at /foo/tls.cert, and the macaroon file at /foo/data/chain/bitcoin/testnet/admin.macaroon.

If either the macaroon path is set or the tls path is set, these override the above. If the LND directory is not set, then the macaroon and cert paths must be set, but they can be omitted if the directory is specified.

This would allow users to switch between testnet, mainnet and regtest without changing multiple parts of their configuration file.

Starting with error: --insecure-http-parser is not allowed in NODE_OPTIONS

Describe the problem/bug
--insecure-http-parser is not allowed in NODE_OPTIONS error when attempting to start ThunderHub

Your environment

To Reproduce
Same out come when installing with yarn or npm.

Expected behavior
start ThunderHub server

Actual behavior

$ npm run start -- -p 3001

> [email protected] start /home/thunderhub/thunderhub
> cross-env NODE_OPTIONS='--insecure-http-parser' next start "-p" "3001"

node: --insecure-http-parser is not allowed in NODE_OPTIONS
npm ERR! code ELIFECYCLE
npm ERR! errno 9
npm ERR! [email protected] start: `cross-env NODE_OPTIONS='--insecure-http-parser' next start "-p" "3001"`
npm ERR! Exit status 9
npm ERR! 
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/thunderhub/.npm/_logs/2020-05-20T10_34_13_974Z-debug.log

Screenshots/Links
image

Lack of CI

It currently looks like there's no CI setup on this project. I recommend these steps, as a baseline:

  1. Run tests
  2. Run linters
  3. Build project, and see that there's no compiler failures/config issues

At a later point it would also be a good idea to consider adding test deploys of PRs and branches.

Add docs on how to hash the passwords that appear in the yaml config file

Is your feature request related to a problem? Please describe.
I want to be able to hash passwords before thunderhub reads/overwrites them.

Describe the solution you'd like
To be able to do this I need to know, how thunderhub expects the hashed passwords to be and what process I can follow to hash them in the same way

Follow up of issue: #89

Feature: Multi-language support

Is your feature request related to a problem? Please describe.
I don't have the option to see ThunderHub in other languages

Describe the solution you'd like
I would like to be able to see ThunderHub in other languages. Integrate with some library such as i18next

Channel View Improvements

Is your feature request related to a problem? Please describe.
I want some changes on the channel view:

  • Balancedness by amount of sats and not only percent
  • Sort by max payment out
  • Sort by historical routed payment volume outbound

Additional context
Continuation of feature requests #60 and #55

Feature: possibility to add own HodlHodl api key in the account settings

Is your feature request related to a problem? Please describe.
I can't use the HodlHodl API from my own account.

Describe the solution you'd like
I would like to be able to add my own HodlHodl api key in the account settings. This would allow me to access my account and use the rest of their api such as creating contracts. (When these features are available)

Failed rebalance

Describe the problem/bug
I tried to re-balance a channel but it failed:
image

2020-07-11 06:41:07 error [THUB]: Error making payment: [
  503,
  'TemporaryChannelFailure',
  {
    failures: [
      [
        503,
        'TemporaryChannelFailure',
        {
          channel: '606812x1935x1',
          height: undefined,
          index: 1,
          mtokens: undefined,
          policy: [Object],
          timeout_height: undefined,
          update: [Object]
        },
        [length]: 3
      ],
      [length]: 1
    ]
  },
  [length]: 3
]

Maybe you could add a little more details, so a user will now what it should do next?
Thanks

Channel view fails with Int cannot represent non 32-bit signed integer value

Describe the problem/bug
When having many channels, the following views failed to load:

  • Channels
  • Balance
  • Fees

Your environment

  • Version of ThunderHub: 0.6.0 (happening with 0.5.5 originally)
  • Deployment method: Docker
  • Other relevant environment details: Running in an Ubuntu 18.04 LTS x86_64

To Reproduce
Steps to reproduce the behavior:

  1. Go to either Channels or Balance
  2. See error

Expected behavior
Display the channels or balance information.

Actual behavior
The screen shows nothing and an error pops up.

Screenshots/Links
Screenshot 2020-05-20 at 10 47 39

Additional context
The problem comes from time_online & time_offline being stored as Int instead of BigInt.

Screenshot 2020-05-20 at 19 09 15

Allow categorising of channels

It would be great if channels could be grouped together however the user wants that. This would mean creating user-defined categories, and then allow a "grouping" view in the channels screen.

As a bonus, it would be nice if some features could be batch-applied, for instance the setting of fees and fee rates.

Advanced Channel Balancing

Is your feature request related to a problem? Please describe.
I want more advanced channel rebalancing in ThunderHub

Describe the solution you'd like

  • Possibility to do an automatic balancing for more obvious channels.
  • See balancedness based on sats to equilibrium
  • Do multiple path checks (Under the max allowed fee) if the current one fails to balance
  • Do binary division for balance amount. Better to balance a smaller amount than to not balance at all

Additional context
Check BOS for these advanced balancing features

Feature: Integrate with the rest of the HodlHodl api

Is your feature request related to a problem? Please describe.
I can only view offers from HodlHodl but cant use any other API feature.

Describe the solution you'd like
I would like to be able to use the rest of HodlHodl's api like creating offers and contracts.

Select multiple channels to update fees as a group

Is your feature request related to a problem? Please describe.
I want to update the fees for only a subset of my channels. Currently, I can either update the fees for all of my channels or I can do them individually. I have a lot of channels for a couple different reasons and each subset requires a different fee policy to be a profitable node. I have to update each channel's fee policy manually and that's a very repetitive process for the user with the way thunderhub currently operates.

Describe the solution you'd like
The basic solution for this is to put check boxes next to channels so that the user can select multiple channels and can update the fees and the min HTLC as a group.

Describe alternatives you've considered
A more advanced solution would be a to click and drag to select multiple channels with an update fees button. This might go well with a more free-form view of the groups of nodes that you have...general routing, liquidity buys, liquidity sales, friends.

Provide examples
If applicable provide examples, wireframes, sketches or images to better explain your idea.
image
I usually want to update the fees for the loop channels all together since I treat them differently than all my other channels. I would put check boxes to the left of the channel names and have an update fees button/card below the list of channels.

Fees not working if baseFee is a Float based value

Describe the problem/bug
Some channels report fees with a float instead of an int, that breaks the way the values are stored in GraphQL since they're declared as Ints instead of Floats

Your environment

  • Version of ThunderHub: 0.6.0
  • Deployment method: Local dev
  • Other relevant environment details: None

To Reproduce
Steps to reproduce the behavior:

  1. Create a channel with base_fee in float number between node A and B
  2. Go to Fees
  3. Observe an error saying "Int cannot represent non-integer value: ....."

Expected behavior
Should show fee information for channels.

Actual behavior
Doesn't show fee information and an error appears on screen.

Screenshots/Links
Screenshot 2020-05-20 at 18 46 38

Additional context
N/A

Feature: Channel Management helper

Is your feature request related to a problem? Please describe.
I can see my channels but have few information regarding their status and health that can help me better manage them.

Describe the solution you'd like
I would like a new view where I can see my channels based on different indicators to be able to better take decisions on opening/closing or balancing them. Would be interesting to see a tool like Faraday be integrated into ThunderHub

Link to https://thunderhub.io/ in repo description

I saw your project on twitter. Liked what i saw. Searched around but Google did not find web site (probably new so it is ignored). Found this repo, but as it has no description or link i was not sure i was looking at the right thing. Having link to web page that has link back to repo makes research for newcomers much faster. I'd create commit but descriptions can't be changed that way.

FullChannelDetailsNotFound on Forwards

Describe the problem/bug
Getting an error saying FullChannelDetailsNotFound when I land on the dashboard (Forwards widget) and Forward view.

Your environment

  • Version of ThunderHub: 0.6.0
  • Deployment method: Local & Docker
  • Other relevant environment details: None.

To Reproduce
Steps to reproduce the behavior:

  1. Go to Dashboard or Forwards view
  2. See error

Expected behavior
For the forwards to be shown

Actual behavior
None are showing and an error pops up saying FullChannelDetailsNotFound

Screenshots/Links
Screenshot 2020-05-21 at 00 04 34

Additional context
It seems the lightning library returns this error when the channel is a zombie one or the edge can't be found: https://github.com/alexbosworth/lightning/blob/a713b58f0c1926cb926a77cdaf242ac2b4f31625/lnd_methods/info/get_channel.js#L63

Handle LND errors correctly

Is your feature request related to a problem? Please describe.
The way errors are handled in the server and then shown to the user is absolutely horrible.

Describe the solution you'd like
Handle them better

Chats dialog returns "UnexpectedVerifyMessageError"

Describe the problem/bug
Upon opening the Chats screen, I get a "UnexpectedVerifyMessageError".

Your environment

  • Version of ThunderHub: 0.7.5
  • Deployment method: Brave Browser GUI
  • Other relevant environment details: Raspiblitz

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Chats' screen
  2. See error "UnexpectedVerifyMessageError"

Screenshots/Links
image

Additional context
I have tried to send a message using the chat function previously, which caused a channel to force close.

Docker ?

Hi,

I notice it states there is a docker file for easy deployment. I couldn't find it.

I would love to add it to my current setup - i am using a docker compose file.

I tried searching also on docker hub.

Can you point me in the right direction ?

Thanks

Add the ability to re-balance a channel without stating last_hop

As far as I see, one has to set the last_hop. But LND offer re-balancing without stating the last_hop, specifically it is possible to do:

lncli --network=testnet payinvoice --allow_self_payment --outgoing_chan_id=12345 --pay_req=l....
Can you please add support in sending circular payment without setting the last_hop

Thank you

Toggle all external requests

Is your feature request related to a problem? Please describe.
As a node owner I want the option to disable all third party requests that could affect my privacy.

Describe the solution you'd like
Optional toggle to enable or disable third party requests.

  • Bitcoin price fetching has the toggle
  • Bitcoin onchain fees fetching has the toggle
  • Hodlhodl is missing

UI toggle in settings and environment variable for the server as well.

Additional context to consider
The donate functionality depends on fetching from an lnpay url endpoint (Also open-source: https://github.com/apotdevin/thunderhub-web). This could also be considered a privacy leak. Check for alternatives.

Remove client side accounts

Is your feature request related to a problem? Please describe.
You can currently create client side accounts that are stored in the browser. These are unsecure, make the code messy and don't allow us to properly do server side rendering

Describe the solution you'd like
Remove the option to create client side accounts and all related code

Support wide-screens screen full width

Is your feature request related to a problem? Please describe.
Hi, ThunderHub does not span the full width of the screen:
image
As you can see in the image, I have a wide screen, but it is not used. the information could be more spread if the screen is used, see for example how much more information I can see in a single page with RTL:
image

For example, there is so much information that can be shown in the channel menu if you use the full width of the scrren:
image

Thank you

Setup instructions are not clear.

Can you provide real examples of the paths ports on a standard install of Lnd and bitcoin.

For example
Whats this
serverUrl: 'http://127.0.0.1:8080'
the RPC the 10009 port the 9735?

whats this?
masterPassword: 'password' # Default password unless defined in account

Is this correct?
SSO_CERT_PATH='/home/username/.lnd/tls.cert'
SSO_MACAROON_PATH='/home/username/.lnd/data/chain/bitcoin/mainnet/'
ACCOUNT_CONFIG_PATH='/home/username/thunderhub/thubConfig.yaml'

Also, where is the log so I can see if I did it all correctly?

Right now I enter
http://remotecomputer:3000
and I get a flash of the screen and blank.

Improve BTCPay integration

Is your feature request related to a problem? Please describe.
The integration with BTCPay can be much better and provide more functionality.

Describe the solution you'd like

  • Add a way to load macaroons from a provided directory.
  • And multi-arch images to support raspberry pi, rock pi, etc

Additional context

To consider:

  • Add some way to auth: The preferred way is to generate a cookie file which a secret(password) and tell btcpay the location. BTCPay then loads it and generates a one-time url to access your app. Your app validates the secret against the file, and then generates a new cookie file(replaces old one) for the next auth attempt.

Feature: Integrate with Loop

Is your feature request related to a problem? Please describe.
I can balance my channels with circular re-balancing but would like to also be able to use Loop In and Loop Out

Describe the solution you'd like
Integrate with Loop from Lightning Labs

Replace pubkeys with Node names for legibility in screens with "hops"

Is your feature request related to a problem? Please describe.
Pubkeys don't mean much but node names do

Describe the solution you'd like
The following:

image

should be replaced with the name of the node that the hop went through. Additionally you could put a "copy" icon to the right in case the user wants to copy the pubkey, and you could also make the name hyperlinked to the 1ML page of the node...

Describe alternatives you've considered
N/A

Provide examples
N/A

Change node icon color?

image

There is no tooltip for the little red icon. If the icon has not meaning, it might be better to change the color to green? as red usually means that there is a problem.

Failed to construct `URL` when starting ThunderHub

Thanks for this tool. Wanted to try it out for some of our nodes, and running into an issue.

Describe the problem/bug
Trying to set up ThunderHub. I have the account settings correctly placed under accounts.yaml and linked on the .env.local.

Your environment

  • Version of ThunderHub: latest master
  • Deployment method: npm
  • Other relevant environment details: node v13.14

Expected behavior
It should load ThunderHub page.

Actual behavior
It flashes the ThunderHub screen for a split second, and then it goes white, and shows a looping error shown below where URL cannot be found. What is that URL? I have 127.0.0.1:10009 as the URL for the server account.

Screenshots/Links
image

Can not access channels page

Screenshots/Links
image

Your environment

lnd version 0.10.1
thunderhub: just git pulled latest version
Linux rock64 4.4.132-1075-rockchip-ayufan-ga83beded8524 #1 SMP Thu Jul 26 08:22:22 UTC 2018 aarch64 GNU/Linux```

Warn when node is using unsafe cltv_expiry_delta value (<18)

Is your feature request related to a problem? Please describe.
See details here:
lightning/bolts#789
and here:
https://twitter.com/realtbast/status/1283298246983659520

I think it would be very efficient to the network if ThunderHub will show a warning when the node has channels with cltv_expiry_delta lower than the recommended value (there are more than 7k such channels on mainnet)

Describe the solution you'd like
I assume some warning that can be disabled in the settings.

Need a Loading Animation on channel close dialog

Is your feature request related to a problem? Please describe.
When I go to close a channel, I click Close channel. Then I get an additional popup that asks me if I want to close the channel. When I click to close the channel, there's no visual change that the command was accepted for several seconds. I'm pressured to click the close channel button again without any visual feedback.

Describe the solution you'd like
Show a processing animation or a loading bar when the close channel process starts.

Describe alternatives you've considered
It would be nice to optionally see the command as it is processing in a verbose mode for detailed troubleshooting.

Move to react-feather

Is your feature request related to a problem? Please describe.
React-feather provides all feather icons without the need of having them in your repository and creating all the imports.

Describe the solution you'd like
Delete all Icon svgs and move over to react-feather

Balancing and Channel view integration

Is your feature request related to a problem? Please describe.
Currently channel view and balancing view are not integrated which makes for a bad UX

Describe the solution you'd like

  • Better integration of the balance and channel view for a more seamless experience

Permission denied when creating invoice

It seems to be working fine for me at first, but when I try to create an invoice I get this (yes, it's setup with Admin Macaroon):

2020-05-25 15:49:45 error [THUB]: Error getting invoice: [
  503,
  'AddInvoiceError',
  {
    err: Error: 2 UNKNOWN: permission denied
        at Object.exports.createStatusError (/home/thunderhub/thunderhub/node_modules/grpc/src/common.js:91:15)
        at Object.onReceiveStatus (/home/thunderhub/thunderhub/node_modules/grpc/src/client_interceptors.js:1209:28)
        at InterceptingListener._callNext (/home/thunderhub/thunderhub/node_modules/grpc/src/client_interceptors.js:568:42)
        at InterceptingListener.onReceiveStatus (/home/thunderhub/thunderhub/node_modules/grpc/src/client_interceptors.js:618:8)
        at callback (/home/thunderhub/thunderhub/node_modules/grpc/src/client_interceptors.js:847:24) {
      [stack]: 'Error: 2 UNKNOWN: permission denied\n' +
        '    at Object.exports.createStatusError (/home/thunderhub/thunderhub/node_modules/grpc/src/common.js:91:15)\n' +
        '    at Object.onReceiveStatus (/home/thunderhub/thunderhub/node_modules/grpc/src/client_interceptors.js:1209:28)\n' +
        '    at InterceptingListener._callNext (/home/thunderhub/thunderhub/node_modules/grpc/src/client_interceptors.js:568:42)\n' +
        '    at InterceptingListener.onReceiveStatus (/home/thunderhub/thunderhub/node_modules/grpc/src/client_interceptors.js:618:8)\n' +
        '    at callback (/home/thunderhub/thunderhub/node_modules/grpc/src/client_interceptors.js:847:24)',
      [message]: '2 UNKNOWN: permission denied',
      code: 2,
      metadata: Metadata { _internal_repr: {}, flags: 0 },
      details: 'permission denied'
    }
  },
  [length]: 3
]

Your environment

Enable Strict in tsconfig

I noticed that strict is turned off in the projects tsconfig.json. This really limits how useful TypeScript can be. Have you considered enabling this option? I tried it out, and as expected, got a ton of compiler failures. A great deal of them seemed to be related to the GraphQL queries. Wouldn't it be better to write the queries with non-nullable fields, instead of ignoring the problems? I'd be happy to help you out to squash compiler errors after enabling strict.

BTW, the bug I fixed in #94 wouldn't have happened in the first place with strict mode enabled ๐Ÿ˜‰

Allow bar colouring with dual texts in channel screen

it would be great if the channel screen could be updated by allowing an additional option "fee rate colouring"

In this mode the bars would not be coloured blue and green for local/remote, but would be graded based on the local/remote fee rate that is in effect.

red would be maximum (about 4000 ppm) and green would be minimum (1) with yellow being a mid value (2000). any other ppm value would scale the colour accordingly

in order to be able to get more detail about every fee rate I suggest an additional setting (radio button) "indicator" or "values shown". this would default to e.g. "channel balance" (2.1M for example) but could be set to "fee rate" (e.g. 400)

FullChannelDetailsNotFound on Forwarding Page

Describe the problem/bug
Getting 404 error "FullChannelDetailsNotFound" when trying to load the forwarding tab. I am using the latest rc for LND (lnd v0.10.1-beta.rc3) and didn't start seeing this error until after I made a loopd transaction on this node.

Your environment

  • Version of ThunderHub: 0.6.0
  • Deployment method: Docker

To Reproduce
Steps to reproduce the behavior:

  1. Log in to node
  2. Click on Forwarding

Expected behavior
I expect the forwarding page to load.

Actual behavior
I get "error [THUB]: Error getting forwards: [ 404, 'FullChannelDetailsNotFound', [length]: 2 ]" in my logs and the forwarding tab does not load.

Additional context: I'm also getting Unexpected error value: [404, "NodeIsUnknown"] when I try to load the "Closed" tab of the Channels tab.

Screen Shot 2020-06-02 at 12 36 06 PM

Secure authentication

I've been looking into using Thunderhub to manage my node, but it seems a bit lacking authentication-wise. The current setup requires me to hardcode a password value int he yaml file, which is not good. Is it possible to avoid this, or do you have any thoughts on how to improve this?

Some solutions that I think would improve the current setup:

  1. Provide password through a CLI flag
  2. Provide password through environment variable
  3. Alllow environment variables in the yaml file

I'm happy to code up a solution if we can agree on a way of doing this.

Track failed ForwardingEvent

It will be great if thunderhub could track and display failed ForwardingEvents:
lightningnetwork/lnd#3420

In short - in lnd v10 and above, there is an option to track all the forward events that were failed, for example, you are able to see if you failed to pass a HTLC because the forward channel did not have enough funds.
This will be very efficient for node operators to see this data in a chart on thunderhub to optimize the channel balances.

Provide examples
https://api.lightning.community/?javascript#subscribehtlcevents

import codecs, grpc, os
import router_pb2 as lnd, router_pb2_grpc as routerrpc
macaroon = codecs.encode(open('/home/admin/.lnd/data/chain/bitcoin/mainnet/admin.macaroon', 'rb').read(), 'hex')
os.environ['GRPC_SSL_CIPHER_SUITES'] = 'HIGH+ECDSA'
cert = open('/home/admin/.lnd/tls.cert', 'rb').read()
ssl_creds = grpc.ssl_channel_credentials(cert)
channel = grpc.secure_channel('localhost:10009', ssl_creds)
stub = routerrpc.RouterStub(channel)
request = lnd.SubscribeHtlcEventsRequest()

for response in stub.SubscribeHtlcEvents(request, metadata=[('macaroon', macaroon)]):
    print('res_id = ' + str(response_id))
    print(response

Thanks

Changes to Channel View

Is your feature request related to a problem? Please describe.
I want more options for sorting and viewing in the Channels view and easier channel finding/viewing in the balancing view

Describe the solution you'd like

  • Sort by channel size
  • Sort by partner node name
  • See fees without expanding the channel

add tooltip for channel status

Is your feature request related to a problem? Please describe.
image

It would be nice if you can add a tooltip for the channel status (the red/green point) so when the cursor over those little points it will state, channel off/on or whatever other information.

Thanks

Centre local/remote balance on channels screen

Is your feature request related to a problem? Please describe.
Instead of showing remote and local underneath each other, put them besides each other and align them

Describe the solution you'd like
The current bar height could be doubled. I would also put a 3-significant figure shorthand of the amount within the bars (see diagram). Anything with 7 digits becomes "M" for millions, anything with 4 digits becomes "k". Do not show more than 3 numbers as the user is not interested in more. Include the exact amount in the detail dropdown.

This view would HAVE to be proportional...

Describe alternatives you've considered
Use the colours that you have in the fee stats screen (red to green) to colour the bars instead of just green and blue. In this way the colour is meaningful

A second alternative would be to included the "balancedness" of the channel as a small number in the top right of the panel holding the channel...

Provide examples
This is what it used to look like:

image

This is my suggestion:

image

Additional context
N/A

BASE_PATH causes error

Describe the problem/bug
Passing BASE_PATH='/' in the environment variables shouldn't throw an error

Additional context
Follow up of #74

Make port configurable via env var

Is your feature request related to a problem? Please describe.
I'd love to integrate thunderhub into my project, however port being configured via argument instead of env var makes it problematic because of the inconsistency.

Describe the solution you'd like
BIND_PORT environment variable to select the port.

Describe alternatives you've considered

  • Complicate my code a lot by adding support for configuration arguments
  • Creating a shell wrapper that reads the config and runs thunderhub with the argument

Feature: Boltz LSP integration

Problem.

Lightning power users want an easy way to on and off ramp themselves from the lightning economy in a self-custodial and trust minimized manner.

Solution

Submarine Swaps allows for just that. Boltz acts as a Lightning service provider and abstracts out the complexity that comes with integrating these swaps for frontend developers via a RESTful API. Here is the documentation for reference. Boltz is built on the principals of privacy and open-source - some values we all share.

Alternative
Loop by Lightning Labs also provides this service but requires running a daemon and have additional setup requirements for end-users. Issue Ref: #22

Example
A sneak-peak of Boltz LSP integration in RTL (currently under development)

Screenshot 2020-05-21 at 7 18 01 PM

Additional Context

Boltz was also first to demo self custodial channel creation swap on mainnet and plans to offer that as an API feature as well - it will further make the UX of node management tools easier.

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.