-
Notifications
You must be signed in to change notification settings - Fork 133
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
update to newer cln hold plugin #816
Conversation
Amazing! Let me know if I should get going running some tests on this branch. Hoping to see hodlvoice merge soon into the official repo. That way we can skip altogether having to mantain our own CLN Dockerfile: having to run a custom CLN image would definitely put-off some wannabe RoboSats coordinators. |
Don't know much about docker but cln has an official docker image for 23.08 and then you just need to pull my github branch and build the plugin. The branch only contains files for the plugin itself, it is entirely compileable without the cln repo. |
Yes, but you have to do the "TODO's", im too stupid. Then you can run some tests. |
Is docker/cln the only place where docker stuff would need changes? I found those just now and added a commit to fix the changes to the new branch. The cln Dockerfile can maybe make use of EDIT: This should solve the first 2 TODO's |
All clear. I will be digging into this as soon as I get some time for it. It might take ~2 weeks unfortunately! |
I think it might be more inline with the rest and easier on the docker side if i add the node.proto files from the cln repo in generate_grpc.sh, so i did that in the latest commit. I wanted to make a point again for docker, cln and plugins. I don't know enough about docker, but cln has an official docker repo and plugins are usually just a binary or script you drop in and load dynamically or on cln's startup. It should also be somewhat easy to later add different plugins, since they are a big part of cln's ecosystem. |
Hey @daywalker90 tested and seems to work as expected. I will patch the Dockerfile for the new plugin and v23.08 on the next commit. Please drop an invoice for a small tip for this contribution of 200K Sats. Thank you!! |
oh thats too kind thank you, |
Wops, it expired before I came back to it. Could you share a new one? |
yes: |
This one expires in a week: |
Hi,
until we get hold invoices into the official repo, this will update robosats to my newer hold plugin version. It has significant performance improvements and this special version i linked in this pr offers both rpc and grpc methods related to holdinvoices. I had to split the grpc part and consistently named everything "hold" instead of "hodl" (as i did for the official repo), so some changes were necessary.
CLN now needs to run both cln-grpc (by simply setting the grpc-port= in the config) and the plugin here cln-grpc-hold. That means we now need
node
and in additionhold
grpc files.The new plugin works with the new CLN 23.08 version that has an improved
pay
command.If anyone migrates from the old plugin to the new i highly recommend to wait for all current holdinvoices to settle/cancel and then switch.
TODO:
grpc-port=CLN_GRPC_HOST
and switchgrpc-hodl-port
togrpc-hold-port=CLN_GRPC_HOLD_HOST
and double check with what i did incln.py
withCLN_GRPC_HOST
andCLN_GRPC_HOLD_HOST
important-plugin=/path/to/cln-grpc-hold
make
will generate thenode
python grpc files intocontrib/pyln-grpc-proto/pyln/grpc/
. The filesnode_pb2.py
,node_pb2_grpc.py
andprimitives_pb2.py
need to be copied to where the other files are. I added some sed commands to then fix the imports on those files.