-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Update step-by-step send payment guide with docker #10461
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
base: master
Are you sure you want to change the base?
Update step-by-step send payment guide with docker #10461
Conversation
Summary of ChangesHello @Euler-B, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request delivers a thoroughly validated and updated step-by-step guide for setting up and sending payments using LND with Docker. It resolves previous workflow issues, ensuring a reliable and out-of-the-box experience for users interacting with the LND payment flow. The changes encompass dependency updates, command syntax modernization, and configuration adjustments across the Docker environment for LND and BTCD. Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request provides a welcome update to the Docker-based lnd payment guide. Key improvements include updating to the docker compose v2 syntax, removing an outdated section, and upgrading dependencies. The Dockerfiles are also enhanced with better version management and a health check.
However, I've identified a critical error in docker/lnd/start-lnd.sh. The script configures lnd to use the wrong port for the btcd RPC connection on simnet, which will prevent the setup from working as described. I've provided specific comments with suggestions to resolve this.
docker/lnd/start-lnd.sh
Outdated
| "--$CHAIN.node"="$BACKEND" \ | ||
| "--$BACKEND.rpccert"="$RPCCRTPATH" \ | ||
| "--$BACKEND.rpchost"="$RPCHOST" \ | ||
| "--$BACKEND.rpchost"="$RPCHOST:18555" \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The btcd RPC host is being configured with port 18555, which is the P2P port for simnet, not the RPC port. The correct RPC port for btcd on simnet is 18556. This configuration will prevent lnd from connecting to btcd and should be corrected.
| "--$BACKEND.rpchost"="$RPCHOST:18555" \ | |
| "--$BACKEND.rpchost"="$RPCHOST:18556" \ |
docker/lnd/start-lnd.sh
Outdated
| # Also, setting --rpclisten to $HOSTNAME will cause it to listen on an IP | ||
| # address that is reachable on the internal network. If you do this outside of | ||
| # docker, this might be a security concern! | ||
| # [:18555] is the default btcd RPC port in SIMNET network. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This comment incorrectly states that 18555 is the default btcd RPC port for simnet. The correct default RPC port for btcd on simnet is 18556. Port 18555 is the P2P port. This is misleading and should be corrected to avoid confusion, especially as the incorrect port is used later in this script.
| # [:18555] is the default btcd RPC port in SIMNET network. | |
| # [:18556] is the default btcd RPC port in SIMNET network. |
8ae435a to
dca2938
Compare
|
Hi! Thank you for that PR! |
Hi! Thanks for the review. Sorry for the confusion; here are the details: The guide is intended to use Simnet, as it's the fastest way to test the payment flows locally. The Regarding your question about the Dockerfile: I believe it's best to keep the Simnet focus to ensure the fastest onboarding for developers. I will refine the documentation to make this distinction clear and remove any ambiguous references to Signet where they aren't needed. I've just updated the PR with these corrections. Let me know if you have any further suggestions! |
dca2938 to
f7af220
Compare
|
@Euler-B, remember to re-request review from reviewers when ready |
|
@Liongrass I have completed the requested changes and the PR is ready for review. Thank you!" |
|
/gemini review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request provides a great update to the Docker-based step-by-step guide for sending payments. Focusing on simnet and removing the obsolete faucet information makes the guide much more approachable and reliable for newcomers. The updates to use the modern docker compose syntax and improve the Docker configurations with version pinning, health checks, and more secure defaults are excellent enhancements. I have one minor suggestion to improve the clarity of the documentation.
docker/README.md
Outdated
| the Lightning Network Daemon (`lnd`). This folder uses `docker` to | ||
| package `lnd` and `btcd` together to make deploying the two daemons as easy as | ||
| typing a few commands. All configuration between `lnd` and `btcd` are handled | ||
| automatically by their `docker-compose` config file. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For better clarity and consistency, consider changing docker to docker compose. While docker compose is part of the docker CLI, the next sentence specifically mentions the docker-compose config file. Using docker compose explicitly would make it clearer to the user which tool is being referred to, especially since the rest of the document has been updated to use the docker compose syntax.
| the Lightning Network Daemon (`lnd`). This folder uses `docker` to | |
| package `lnd` and `btcd` together to make deploying the two daemons as easy as | |
| typing a few commands. All configuration between `lnd` and `btcd` are handled | |
| automatically by their `docker-compose` config file. | |
| the Lightning Network Daemon (`lnd`). This folder uses `docker compose` to | |
| package `lnd` and `btcd` together to make deploying the two daemons as easy as | |
| typing a few commands. All configuration between `lnd` and `btcd` are handled | |
| automatically by their `docker-compose` config file. |
f7af220 to
31d206f
Compare
31d206f to
380e41b
Compare
|
/gemini review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request provides a great update to the Docker-based step-by-step guide for sending payments. The focus on simnet, removal of obsolete information about the faucet, and updates to use modern Docker commands and practices significantly improve the guide's usability and reliability for new developers. The Dockerfile enhancements, such as version pinning, adding a health check, and improving security defaults, are also valuable contributions. I've found one minor inconsistency in the documentation that I've commented on. Overall, this is a solid improvement.
Change Description
This
PRis the result of a step-by-step validation of the Send Payment Guide withDocker. After encountering several issues with the original workflow, I conducted a deep dive into the underlying failures, testing all available options described in the guide and researching related documentation.The result is an updated, functional guide that works out-of-the-box. Key changes include:
Simnet Focus: This update specifically focuses on Simnet due to its simplicity in block generation. It provides a seamless environment for new developers to test LND payment commands instantly without external dependencies.
Removal of Obsolete Resources: I have removed the section regarding the
faucet.lightning.community.web, as it is currently offline.Signet Considerations: I've clarified that obtaining funds via Signet can be time-consuming, as it depends on available computing power for mining/proof-of-work requirements, which might frustrate newcomers.
This guide now serves as a reliable and modern reference for anyone’s first encounter with the
LNDpayment flow..Steps to Test
Follow the instructions provided in the updated
docker/README.md.Pull Request Checklist
Testing
Code Style and Documentation
[skip ci]in the commit message for small changes.📝 Please see our Contribution Guidelines for further guidance.