Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create a Eclair connection QR code format #2199

Open
Bosch-0 opened this issue Mar 3, 2022 · 5 comments
Open

Create a Eclair connection QR code format #2199

Bosch-0 opened this issue Mar 3, 2022 · 5 comments

Comments

@Bosch-0
Copy link

Bosch-0 commented Mar 3, 2022

Hello,

It would be handy if their was a simple way to connect to your Eclair node by scanning a QR code, similar to LND connect and the WIP by @opnoms here for C-lightning.

@t-bast
Copy link
Member

t-bast commented Mar 3, 2022

Good idea, this will need a light specification (a blip probably makes sense).
The simplest thing I can think of is to just encode in a QR code "<node_id>@:".
But if we want to prepare for forward-compatibility, it could make sense to add more structure from the get-go.
Anyway, this does seem like something that should be specified before implementations actually do something, isn't it?

@Bosch-0
Copy link
Author

Bosch-0 commented Mar 4, 2022

Anyway, this does seem like something that should be specified before implementations actually do something, isn't it?

Yes it should, would be great to have everyone using the same format.

How would the blip work? Different implementations authenticate in different ways, would they likely have to modify things to play nice with other implementations?

Lightning labs is moving to LNC also: https://lightning.engineering/posts/2021-11-30-lightning-node-connect-deep-dive/

@t-bast
Copy link
Member

t-bast commented Mar 4, 2022

I misunderstood what you meant! I thought that what you meant by "connecting" was "establishing a lightning connection" (so I was a bit surprised because that seemed easy and already handled).

What you mean is a QR code for a user to remotely and securely connect to their own node and access private node information (like its API), right? In that case yeah, I don't think a blip makes sense, this is very implementation-specific. Eclair exposes its API remotely either with password authentication or cookie authentication, but it isn't really meant for remote access right now (for security reasons).

I'm not sure yet what we want to do in that area, this isn't something users have been requesting much to be honest.

@Bosch-0
Copy link
Author

Bosch-0 commented Mar 5, 2022

What you mean is a QR code for a user to remotely and securely connect to their own node and access private node information (like its API), right?

Yep that's what I was getting at, it would mostly be a UX thing to make it that little bit easier to connect your Eclair node to apps like Zeus

@t-bast
Copy link
Member

t-bast commented Dec 21, 2022

What I dislike with this idea in general is the need for a TLS certificate on the lightning node and an HTTP server. An idea I've been toying with which I think is a much better long term solution is to allow API commands to be sent through whitelisted lightning connections.

On the lightning node side, you whitelist public keys and which APIs they have access to. Then when you receive a lightning connection from one of those public keys, you allow them to make API calls through custom lightning messages. What's interesting with that approach is that the client keys can be in a hardware wallet that handles Bolt 8 encryption, so that you don't have to put private keys in a browser extension for example. This does require clients to create lightning connections instead of HTTP requests, but this is easily addressed by providing a good cross-platform library (it only needs to implement Bolt 8 and lightning binary encoding, which is a small, stable subset of the lightning protocol).

Ideally we would then be able to standardize (in a BLIP) a common set of APIs that all lightning implementations would support and the wire encoding for those API requests. This would make it easy for apps to connect to any lightning node.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants