ElementsProject / lightning

Core Lightning — Lightning Network implementation focusing on spec compliance and performance
Other
2.81k stars 889 forks source link

reckless won't install boltz backend plugins? #7148

Open rustyrussell opened 6 months ago

rustyrussell commented 6 months ago

Issue and Steps to Reproduce

$  reckless install https://github.com/BoltzExchange/boltz-backend/tree/master/tools/plugins/hold
$

With -v:

$ reckless -v install https://github.com/BoltzExchange/boltz-backend/tree/master/tools/plugins/hold
[2024-03-14 03:43:25,959] DEBUG: Searching for https://github.com/BoltzExchange/boltz-backend/tree/master/tools/plugins/hold
[2024-03-14 03:43:25,960] DEBUG: fetching from gh API: https://api.github.com/repos/lightningd/plugins/contents/
[2024-03-14 03:43:26,034] DEBUG: fetching from gh API: https://api.github.com/repos/lightningd/plugins/git/trees/294f93d7060799439c994daa84f534c4d1458325
[2024-03-14 03:43:26,133] DEBUG: fetching from gh API: https://api.github.com/repos/endothermicdev/impscan/contents/
[2024-03-14 03:43:26,209] DEBUG: Search exhausted all sources

It should probably print something, and also it would be nice if it worked :)

getinfo output

Well, reckless --version doesn't work, but it's 24.02.1.

michael1011 commented 5 months ago

That's probably my fault. Our Python environment and project structure is a bit of mess. I'll clean it up and make sure its compatible with reckless

vincenzopalazzo commented 5 months ago

That's probably my fault. Our Python environment and project structure is a bit of mess. I'll clean it up and make sure it is compatible with reckless

I do not think that we should make a reckless standard here, for instance, coffee is able to install boltz plugin without problems with the help of a manifest https://coffee-docs.netlify.app/support-coffee

We should do also this in reckless or maybe join the forces in a single project

michael1011 commented 5 months ago

So apart from cleaning up our Python project structure (which is its own can of worms), I guess I should add a manifest for coffee? Is coffee the replacement for reckless?

vincenzopalazzo commented 5 months ago

I should add a manifest for coffee? Is coffee the replacement for reckless?

Only if you want to support coffee, coffee is an alternative build from an idea born while working on a previous version of Reckless in 2019

So no need to support it, but I have a PR that I was going to open so maybe I will wait for your cleanup?

michael1011 commented 5 months ago

So no need to support it, but I have a PR that I was going to open so maybe I will wait for your cleanup?

Feel free to open a PR. Not sure when I'll get to that cleanup

vincenzopalazzo commented 5 months ago

Perfect so I will open it next weeks at this point

endothermicdev commented 5 months ago

The relevant reckless requirements here are:

With reckless we were trying to avoid making the use of a manifest a requirement until it's obviously necessary (to make sure it's able to capture all of the needs/nuance of various plugins and not just add complexity.) I'm not opposed to a manifest, and I would include a coffee manifest, but I would like some feedback on the basic reckless requirements if any of those don't make sense or are unreasonable. https://github.com/ElementsProject/lightning/blob/master/doc/reckless.7.md#notes

michael1011 commented 1 week ago

Update on that: we recently rewrote and moved our hold invoice plugin to a new repo: https://github.com/boltzExchange/hold. I guess that is simpler to support in reckless, but I'll need to check if I need to add some config file for it to support compiling Rust

Our SCB backup and mpay plugins are also gonna be moved, so I don't think there is a need to somehow make my current, admittedly weird, Python setup work with reckless