This has a relay endpoint for NWC requests. It's very simple. https://github.com/mutatrum/ligess
Im confused... I thought having a NWC-enabled wallet allows a NWC interface to receive requests from a relay to get balance, generate or pay invoice, etc. This seems to add NWC to LND for the purpose of paying invoices only. From the read me it's not clear that this can act as just a nip-47 relay.
Correct, it has a very limited scope. It's a zapper service, so the only NWC action implemented is pay_invoice. The other methods aren't necessary for this. Extending this to a complete NIP-47 implementation should be possible and not even that hard, but I'm not familiar when one would use this?
When receiving payments to a nwc wallet, like alby hub node.
Ligess is basically Alby Hub for LND. It's both a Lightning address server, as well as a zap handler. So one can send zaps and receive zaps directly from LND, as well as receive payments to your lightning address on your own domain. I haven't used Alby Hub, so not sure how they are similar/different to each other. As for my implementation, exposing the balance would be a security issue, as any app that is connected through NWC has access to that.
Alby hub has integrated ldk node with nice channel management features. It can also work with other ln implementations like lnd which is like adding a nwc interface. I like the integrated ldk node, its very simple. But i want to remove the dependency of alby's relay
You can use any nostr relay. Nothing special about nwc
Alby hub generates nwc strings with relay.getalby.com/v1. I cant just change the relay in the string, right? Alby hub is listening to the relay it generates in the nwc string?
You can change the relay for your hub via environment variable: https://github.com/getAlby/hub?tab=readme-ov-file#optional-configuration-parameters You can't just change the connection string manually, since the hub needs to know which relay to listen to for incoming requests.
Gracias!