Skip to content

Conversation

@daywalker90
Copy link

Hi alby team :)

I know the CLN API pretty well by now and i only had to get into go and typescript (it was fun) to get this one done. if err != nil btw.

This is barely tested. I'm pretty sure some functions were never called during my time clicking around in the web frontend. Please let me know how to test this in a good way.

Also please let me know what else i missed or got wrong.

While CLN ships with gRPC support, CLN doesn't have native support for hold invoices so i added optional configs for boltz's hold plugin.

Not tested but i think the minimum version for CLN is v24.11 and hold v0.3.3

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 30, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

  • 🔍 Trigger a full review
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Tip

🧪 Unit Test Generation v2 is now available!

We have significantly improved our unit test generation capabilities.

To enable: Add this to your .coderabbit.yaml configuration:

reviews:
  finishing_touches:
    unit_tests:
      enabled: true

Try it out by using the @coderabbitai generate unit tests command on your code files or under ✨ Finishing Touches on the walkthrough!

Have feedback? Share your thoughts on our Discord thread!


Comment @coderabbitai help to get the list of available commands and usage tips.

@rolznz
Copy link
Contributor

rolznz commented Jan 30, 2026

@daywalker90 awesome, thanks for the PR! what's the best way to test this? can I use Polar?

@daywalker90
Copy link
Author

Never used Polar but they list CLN aswell on their website. The configs grpc-host and grpc-port have defaults, but for the hold plugin you need to set the configs.

Myself i have CLN installed from compiling the source and then you can run a script from the CLN repo like this:

source contrib/startup_regtest.sh

which gives these commands:

Useful commands:
  start_ln 3: start three nodes, l1, l2, l3
  connect 1 2: connect l1 and l2
  fund_nodes: connect all nodes with channels, in a row
  stop_ln: shutdown
  destroy_ln: remove ln directories

You can install a plugin like the hold plugin by copying/linking it in a newly created directory plugins inside the nodes lightning-dir or by adding it to the config like this: plugin=/path/to/plugin

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

Successfully merging this pull request may close these issues.

2 participants