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
  • Installation
  • Downloading the standalone binaries
  • Downloading as part of Lightning Terminal (LiT)
  • Building the binaries from source
  • Installing lnd
  • Running poold
  • Configuration options
  • Authentication and transport security

Was this helpful?

  1. Lightning Network Tools
  2. Pool

Installation

Install Pool from source or using the binaries.

PreviousQuickstartNextFirst Steps

Last updated 18 days ago

Was this helpful?

Installation

Lightning Pool is built very similarly to : There is a process that is constantly running in the background, called the trader daemon (poold) and a command line tool to interact with the daemon, called just pool.

The poold trader daemon can be run either as a standalone binary connected to a compatible lnd node or integrated into .

Downloading the standalone binaries

The latest official release binaries can be .

Downloading as part of Lightning Terminal (LiT)

To run poold integrated into the Lightning Terminal, download and follow

Building the binaries from source

To build both the poold and pool binaries from the source code, at least the go 1.14 and make must be installed.

To download the code, compile and install it, the following commands can then be run:

git clone https://github.com/lightninglabs/pool

cd pool

make install

This will install the binaries into your $GOPATH/bin directory.

Installing lnd

make install tags="signrpc walletrpc chainrpc invoicesrpc"

Running poold

If lnd is configured with the default values and is running on the same machine, poold will be able to connect to it automatically and can be started by simply running:

$ poold

# Or if you want to do everything in the same terminal and run poold in the
# background:
$ poold &

# For testnet mode, you'll need to specify the network as mainnet is the
# default:
$ poold --network=testnet

In the case that lnd is running on a remote node, the tls.cert and the admin.macaroon files from the lnd data directory need to be copied to the machine where poold is running.

The daemon can then be configured to connect to the remote lnd node by using the following command line flags:

$ poold --lnd.host=<the_remote_host_IP_address>:10009 \
        --lnd.macaroonpath=/some/directory/with/lnd/data/macaroons/admin.macaroon \
        --lnd.tlspath=/some/directory/with/lnd/data/tls.cert

To persist this configuration, these values can also be written to a configuration file, located in ~/.pool/<network>/poold.conf, for example:

~/.pool/mainnet/poold.conf

lnd.host=<the_remote_host_IP_address>:10009
lnd.macaroonpath=/some/directory/with/lnd/data/macaroons/admin.macaroon
lnd.tlspath=/some/directory/with/lnd/data/tls.cert

Configuration options

There is a range of operational settings that can be set to change the default logging behavior or change the directories where poold stores its data. To see the full list of options, run poold --help.

The following list only includes flags that have an impact on the match making or business related behavior of the Pool trader daemon:

Flag

Required

Default Value

Description

newnodesonly

No

false

If set to true the daemon will only buy channels from nodes it does not yet have channels with

Authentication and transport security

The gRPC and REST connections of poold are encrypted with TLS and secured with macaroon authentication the same way lnd is.

If no custom base directory is set then the TLS certificate is stored in ~/.pool/<network>/tls.cert and the base macaroon in ~/.pool/<network>/pool.macaroon.

The pool command will pick up these file automatically on mainnet if no custom base directory is used. For other networks it should be sufficient to add the --network flag to tell the CLI in what sub directory to look for the files.

NOTE: pool's macaroons are independent from lnd's. The same macaroon cannot be used for both poold and lnd.

Lightning Pool needs to be connected to an lnd node version v0.11.1-beta or later to work. It is recommended to run an .

is also possible but needs to be done with all sub-server build flags enabled:

For more information on macaroons,

🛠️
Lightning Loop
Lightning Terminal (LiT)
downloaded from the GitHub releases page
the latest release of LiT
the installation instructions of LiT
official release binary of lnd
Installing lnd from source
see the macaroon documentation of lnd.