Replying to Avatar sommerfeld

Running https://github.com/Dolu89/ligess/pull/9

Can fellow nostriches help me out and test if I can receive zaps NONCUSTODIALLY?

Zapped. Nice receive zaps directly using your own node :)

Reply to this note

Please Login to reply.

Discussion

Thanks. Hey you return it too much 😄

Btw, do you know this will work for node using private channel behind tor? I know in your case, you have public channel behind tor

I'm not sure, it will depend if the generated invoice contains route hints.

I know when manually generating an invoice with #[4] you can turn on route hints in a checkbox but I'm not sure if ligess sets this or not.

I would like to try though. I have plans to setup a new node with only private channels.

Yes, using ZEUS we can define route hints whengenerating the invoice. Need to check LIGESS code more where to define route hints properly.

Nice, hopefully it works nicely

I did some digging (when I should have been working on my fiat job). Here are my findings:

TLDR: it shouldn't work for nodes with only private channels since ligess is not passing the parameter `private` to `lnd`'s `AddInvoice` RPC method:

Here are the relevant code parts:

1 - `ligess` calls una's `createInvoice`

https://github.com/Dolu89/ligess/blob/d8c71626a403a5d40f6f88b134506d7776a34d3a/router.js#L47-L53

2 - una translates and passes these parameters:

https://github.com/blc-org/una/blob/c4ae26440081b29f8a0f3b950a1be948dc9cb872/bindings/una-js/index.d.ts#L22-L32

3 - una calls the `lnd`'s `AddInvoice` using REST

https://github.com/blc-org/una/blob/c4ae26440081b29f8a0f3b950a1be948dc9cb872/core/src/backends/lnd/rest/node.rs#L66

4 - That method has these docs (check the field `private`)

https://lightning.engineering/api-docs/api/lnd/lightning/add-invoice

5 - On `lnd`'s code base, that field has no explicit default and since it's in rust, the defaults to false

https://github.com/lightningnetwork/lnd/blob/ea0eb2ce72dcd0be9d444083dacb6ca42944e70e/lnrpc/invoicesrpc/addinvoice.go#L125

In order to fix this, one would need to patch botch ligess and una to pass the `private=true` parameter.

It seems most LN address server didn't explicitly set private route hints or have configuration for that.

I found that https://github.com/bumi/lnme has config for that. I already use it for my private LN address outside of nostr. But, i haven't decent skill in Go to patch it to make NIP-57 compatible 😅

It seems easier to just use ligess (with zap support) and add private=true 😂

Yup, only need NIP-57 and voila ready for action 😂