Builder's Guide
  • Welcome to the Builder's Guide to the LND Galaxy!
  • The Lightning Network
    • Overview
    • Payment Channels
      • Lifecycle of a Payment Channel
      • Watchtowers
      • Understanding Sweeping
      • Etymology
    • The Gossip Network
      • Identifying Good Peers on the Lightning Network
    • Pathfinding
      • Finding routes in the Lightning Network
      • Channel Fees
      • Multipath Payments (MPP)
    • Lightning Network Invoices
      • Understanding Lightning Invoices
    • Making Payments
      • The Payment Cycle
      • Timelocks
      • ⭐Hashed Timelock Contract (HTLC)
      • Payment Etymology
      • ⭐What Makes a Good Routing Node
      • Understanding Submarine Swaps
      • Instant Submarine Swaps
    • Liquidity
      • ⭐Understanding Liquidity
      • Managing Liquidity on the Lightning Network
      • Liquidity Management for Lightning Merchants
      • How to Get Inbound Capacity on the Lightning Network
      • Lightning Service Provider
    • L402: Lightning HTTP 402 Protocol
      • Macaroons
      • L402
      • 📋Protocol Specification
      • Implementations and Links
    • Taproot Assets
      • Taproot Assets Protocol
      • Taproot Assets on Lightning
      • Edge Nodes
      • Taproot Assets Trustless Swap
      • FAQ
      • Glossary
  • Lightning Network Tools
    • LND
      • 🛠️Get Started
      • lnd.conf
      • First Steps With LND
      • Wallet Management
      • Sending Payments
      • Atomic Multi-path Payments (AMP)
      • Receiving Payments
      • Unconfirmed Bitcoin Transactions
      • Channel Fees
      • Inbound Channel Fees
      • Macaroons
      • Configuring Watchtowers
      • Pathfinding
      • Blinded Paths
      • Key Import
      • Secure Your Lightning Network Node
      • Configuration of a Routing Node
      • Quick Tor Setup
      • Configuring Tor
      • Enable ‘Neutrino mode’ in Bitcoin Core
      • Send Messages With Keysend
      • Partially Signed Bitcoin Transactions
      • Bulk onchain actions with PSBTs
      • Sweeper
      • Debugging LND
      • Fuzzing LND
      • LND API documentation
      • Channel Acceptor
      • RPC Middleware Interceptor
      • HTLC Interceptor
      • NAT Traversal
      • Recovery: Planning for Failure
      • Migrating LND
      • Disaster recovery
      • Contribute to LND
    • Lightning Terminal
      • What is Lightning Terminal?
      • 🛠️Get litd
      • Run litd
      • Integrating litd
      • Demo: Litd Speed Run
      • Connect to Terminal
      • Recommended Channels
      • Rankings
      • Health Checks
      • Liquidity Report
      • Opening Lightning Network Channels
      • Managing Channel Liquidity
      • Autofees
      • AutoOpen
      • LND Accounts
      • Loop and Lightning Terminal
      • Loop Fees
      • Pool and Lightning Terminal
      • Command Line Interface
      • Troubleshooting
      • Lightning Node Connect: Under the hood
      • LNC Node Package
      • LITD API Documentation
      • Privacy and Security
      • Privacy Policy
      • Terms of Use
    • Loop
      • 🛠️Get Started
      • The Loop CLI
      • Autoloop
      • Static Loop In Addresses
      • Instant Loop Outs
      • Peer with Loop
      • Loop API Documentation
    • Pool
      • Overview
      • Quickstart
      • 🛠️Installation
      • First Steps
      • Accounts
      • Orders and Asks
      • Sidecar Channels
      • Zero-confirmation Channels
      • Channel Leases
      • Batch Execution
      • Account Recovery
      • Pool API Documentation
      • FAQs
    • Taproot Assets
      • Get Started
      • First Steps
      • Taproot Assets Channels
      • Asset Decimal Display
      • Become an Edge Node
      • RFQ
      • Collectibles
      • Universes
      • Asset Loop
      • Debugging Tapd
      • Multisignature
      • Minting Assets With an External Signer
      • Lightning Polar
      • Operational Safety Guidelines
      • Taproot Assets API Documentation
    • Aperture
      • ⚒️Get Aperture
      • LNC Backend
      • LNC Mailbox
      • Pricing
    • Faraday
      • 🛠️Get Started
      • The Faraday CLI
      • Faraday API Documentation
  • LAPPs
    • Guides
      • Use Polar to Build Your First LAPP
        • Setup: Local Cluster with Polar
        • Setup: Run the Completed App
        • Setup: Run the App Without LND
      • Add Features
        • Feature 1: Connect to LND
        • Feature 2: Display Node Alias and Balance
        • Feature 3: Sign and Verify Posts
        • Feature 4: Modify Upvote Action
      • Make Your own LNC-powered Application
    • Next Steps
  • Community Resources
    • Resource List
    • Lightning Bulb 💡
    • Glossary
    • FAQ
Powered by GitBook
On this page
  • Contribute as a user
  • Contribute as a developer
  • Contribute to documentation
  • Stay in touch

Was this helpful?

  1. Lightning Network Tools
  2. LND

Contribute to LND

Learn how to contribute to LND’s code and documentation

PreviousDisaster recoveryNextLightning Terminal

Last updated 24 days ago

Was this helpful?

The Lightning Network Daemon is open source software published and maintained by Lightning Labs. The project relies heavily on contributions from users, developers, and the projects building on top of it.

LND is used in production by countless individuals and companies all around the world. They entrust the software with their funds, and their users’ funds. Consequently, LND has formalized and implemented a rigorous development process that values safety, security, reliability, and quality above features or development speed.

There are many ways to contribute to the project, as a user, developer, entrepreneur, or through documentation.

Contribute as a user

Thank you for running LND! We are always attentive to our users’ needs and rely on users to report bugs and share their use cases.

To be effective in providing user feedback, you should be prepared to provide extensive logs (e.g. debug mode) as well as profiling data. Detailed logs and profiles help us troubleshoot bugs more effectively.

We appreciate any extensive testing, especially in environments like signet. As a user, you can contribute to LND by applying patches in your testing environment, running a signet node, and by upgrading to release candidates early and often. Running Release Candidates as when it's published and publishing bug reports is a great way to contribute towards improving the quality of the releases. Although it’s recommended to run RC on signet nodes only.

You may also contribute to the development process below by applying patches and testing new features and pull requests before they are released.

Contribute as a developer

LND has strict contributor standards and frequently merges pull requests from outside contributors.

To effectively contribute code, it helps to

  • Understand Bitcoin and the Lightning Network at a high level

  • Comprehend c-like languages, their data structures and performance

  • Have some level of proficiency with Go, as LND is written in Go

  • Possess domain specific knowledge in the field you are contributing to

  • Have a strong appetite to review code, in addition to developing

The LND issue log provides a good starting point for opportunities. Filter issues with flags like ‘good first issue’, ‘up for grabs’ or ‘beginner’ to find a convenient starting point.

Code reviews are an extremely important area of contribution. High quality code reviews are highly appreciated by the development team. You may start with a small or medium sized pull request, discern why it was created, and what code changes are needed to address that need. Also, to improve familiarity with the code base you can ask pr authors questions on the prs on specific areas to get clarity on the decisions made by the developers.

Continue by looking into the proposed code changes and analyze what each line does. Run the code locally, debug it, and go through all unit and integration tests.

LND core developers run this forum and provide high quality inputs which helps in building subject matter expertise on different areas of function within LND

Contribute to documentation

There are a million ways to configure and run LND. You can help other users by documenting your setup and configurations, together with the tools you use to manage your node.

When discovering errors in LND documentation, don’t hesitate to reach out or make a pull request.

Share your guides, sample configurations, and setups with the community.

Stay in touch

Another important venue to improve your understanding of the LND code base and functionality is the .

Read more: Debugging LND
Discover: Open issues
Must read: Code contribution guidelines
Discover: Open pull requests
LND PR Review Club
Follow Lightning Labs on X
Join the LND Slack