{"id":13499209,"url":"https://github.com/edouardparis/lntop","last_synced_at":"2025-04-09T20:09:44.078Z","repository":{"id":38360396,"uuid":"175837885","full_name":"edouardparis/lntop","owner":"edouardparis","description":":zap: LN terminal dashboard :bar_chart:","archived":false,"fork":false,"pushed_at":"2024-05-03T19:01:07.000Z","size":3217,"stargazers_count":186,"open_issues_count":37,"forks_count":25,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-09T20:09:39.834Z","etag":null,"topics":["bitcoin","dashboard","lightning","lightning-network","terminal","tui"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/edouardparis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-03-15T14:42:17.000Z","updated_at":"2025-03-31T13:39:36.000Z","dependencies_parsed_at":"2024-06-20T03:02:26.171Z","dependency_job_id":"e20ba654-6ac9-4d23-98e5-fd1ba72ec9e6","html_url":"https://github.com/edouardparis/lntop","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edouardparis%2Flntop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edouardparis%2Flntop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edouardparis%2Flntop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edouardparis%2Flntop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/edouardparis","download_url":"https://codeload.github.com/edouardparis/lntop/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248103871,"owners_count":21048245,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bitcoin","dashboard","lightning","lightning-network","terminal","tui"],"created_at":"2024-07-31T22:00:30.843Z","updated_at":"2025-04-09T20:09:44.041Z","avatar_url":"https://github.com/edouardparis.png","language":"Go","funding_links":[],"categories":["Applications"],"sub_categories":["Desktop Interfaces","Command Line Interfaces"],"readme":"# lntop\n\n[![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/edouardparis/lntop/blob/master/LICENSE)\n[![Go Report Card](https://goreportcard.com/badge/github.com/edouardparis/lntop)](https://goreportcard.com/report/github.com/edouardparis/lntop)\n[![Godoc](https://godoc.org/github.com/edouardparis/lntop?status.svg)](https://godoc.org/github.com/edouardparis/lntop)\n\n`lntop` is an interactive text-mode channels viewer for Unix systems.\n\n \u003cimg src=\"lntop-v0.1.0.png\"\u003e\n *lntop-v0.1.0*\n\n## Install\n\nRequire the [go programming language](https://golang.org/) (version \u003e= 1.19.1)\n\n**Raspberry Pi users: be aware that Raspbian ships with Go 1.11** ( see\n[#30](https://github.com/edouardparis/lntop/issues/30) )\n\n```\ngit clone https://github.com/edouardparis/lntop.git\ncd lntop\ngo build   // creates a binary `lntop` in directory\ngo install // creates a binary and move it in your $GOBIN path\n\n```\n\nWith Go version \u003e= 1.16, you can use [`go-install`](https://golang.org/ref/mod#go-install)\n\n```\ngo install github.com/edouardparis/lntop@latest\n```\n\nNote: If you are using [**Umbrel**](https://getumbrel.com) or [**Citadel**](https://runcitadel.space) you can simply install the [**Lightning Shell**](https://lightningshell.app) app from the respective dashboard. This will give you `lntop` which should just work without any additional configuration.\n\n## Config\n\nFirst time `lntop` is started, a config file `.lntop/config.toml` is created in the user's home directory. Change `address`, `cert` path and `macaroon` path according to your setup.\n\nThe following environment variables, if present, will be used in the initial config file instead of the defaults, so you won't have to have `lntop` fail on the first start and then manually edit the config file: `LND_ADDRESS`, `CERT_PATH`, `MACAROON_PATH`.\n\n```toml\n[logger]\ntype = \"production\"\ndest = \"/root/.lntop/lntop.log\"\n\n[network]\nname = \"lnd\"\ntype = \"lnd\"\naddress = \"//127.0.0.1:10009\"\ncert = \"/root/.lnd/tls.cert\"\nmacaroon = \"/root/.lnd/data/chain/bitcoin/mainnet/readonly.macaroon\"\nmacaroon_timeout = 60\nmax_msg_recv_size = 52428800\nconn_timeout = 1000000\npool_capacity = 4\n\n[network.aliases]\n# Not all peers have aliases set up. In order to remember who is whom, pubkeys can be annotated.\n# \"Forced\" aliases will be printed in a different color to be distinguished from network advertised aliases.\n035e4ff418fc8b5554c5d9eea66396c227bd429a3251c8cbc711002ba215bfc226 = \"Wallet of Satoshi\"\n03864ef025fde8fb587d989186ce6a4a186895ee44a926bfc370e2c366597a3f8f = \"-=[ACINQ]=-\"\n\n[views]\n# views.channels is the view displaying channel list.\n[views.channels]\n# It is possible to add, remove and order columns of the\n# table with the array columns. The available values are:\ncolumns = [\n\t\"STATUS\",      # status of the channel\n\t\"ALIAS\",       # alias of the channel node\n\t\"GAUGE\",       # ascii bar with percent local/capacity\n\t\"LOCAL\",       # the local amount of the channel\n\t\"REMOTE\",    # the remote amount of the channel\n\t#\"BASE_OUT\"    # the outgoing base fee of the channel\n\t#\"RATE_OUT\"    # the outgoing fee rate in ppm of the channel\n\t#\"BASE_IN\"    # the incoming base fee of the channel\n\t#\"RATE_IN\"    # the incoming fee rate in ppm of the channel\n\t\"CAP\",         # the total capacity of the channel\n\t\"SENT\",        # the total amount sent\n\t\"RECEIVED\",    # the total amount received\n\t\"HTLC\",        # the number of pending HTLC\n\t\"UNSETTLED\",   # the amount unsettled in the channel\n\t\"CFEE\",        # the commit fee\n\t\"LAST UPDATE\", # last update of the channel\n\t# \"AGE\",       # approximate channel age\n\t\"PRIVATE\",     # true if channel is private\n\t\"ID\",          # the id of the channel\n\t# \"SCID\",      # short channel id (BxTxO formatted)\n\t# \"NUPD\",      # number of channel updates\n]\n\n[views.channels.options]\n# Currently only one option for the AGE column. If enabled, uses multiple colors\n# from green to orange to indicate the channel age using 256 color scheme in\n# supported terminals\n\n# AGE = { color = \"color\" }\n\n[views.transactions]\n# It is possible to add, remove and order columns of the\n# table with the array columns. The available values are:\ncolumns = [\n\t\"DATE\",      # date of the transaction\n\t\"HEIGHT\",    # block height of the transaction\n\t\"CONFIR\",    # number of confirmations\n\t\"AMOUNT\",    # amount moved by the transaction\n\t\"FEE\",       # fee of the transaction\n\t\"ADDRESSES\", # number of transaction output addresses\n]\n\n[views.routing]\ncolumns = [\n\t\"DIR\",            # event type:  send, receive, forward\n\t\"STATUS\",         # one of: active, settled, failed, linkfail\n\t\"IN_CHANNEL\",     # channel id of the incomming channel\n\t\"IN_ALIAS\",       # incoming channel node alias\n\t# \"IN_SCID\",      # incoming short channel id (BxTxO)\n\t# \"IN_HTLC\",      # htlc id on incoming channel\n\t# \"IN_TIMELOCK\",  # incoming timelock height\n\t\"OUT_CHANNEL\",    # channel id of the outgoing channel\n\t\"OUT_ALIAS\",      # outgoing channel node alias\n\t# \"OUT_SCID\",     # outgoing short channel id (BxTxO)\n\t# \"OUT_HTLC\",     # htlc id on outgoing channel\n\t# \"OUT_TIMELOCK\", # outgoing timelock height\n\t\"AMOUNT\",         # routed amount\n\t\"FEE\",            # routing fee\n\t\"LAST UPDATE\",    # last update\n\t\"DETAIL\",         # error description\n]\n\n[views.fwdinghist]\ncolumns = [\n         \"ALIAS_IN\",\t# peer alias name of the incoming peer\n         \"ALIAS_OUT\",   # peer alias name of the outgoing peer\n         \"AMT_IN\",\t# amount of sats received\n         \"AMT_OUT\",     # amount of sats forwarded\n         \"FEE\",      \t# earned fee\n         \"TIMESTAMP_NS\",# forwarding event timestamp\n#        \"CHAN_ID_IN\",  # channel id of the incomming channel\n#        \"CHAN_ID_OUT\", # channel id of the outgoing channel\n]\n\n[views.fwdinghist.options]\nSTART_TIME = { start_time = \"-6h\" }\nMAX_NUM_EVENTS = { max_num_events = \"333\" }\n```\n\n## Routing view\n\nRouting view displays screenful of latest routing events. This information\nis not persisted in LND so the view always starts empty and is lost once\nyou exit `lntop`.\n\nThe events are in one of four states:\n\n* `active` - HTLC pending\n* `settled` - preimage revealed, HTLC removed\n* `failed` - payment failed at a downstream node\n* `linkfail` - payment failed at this node\n\n## Docker\n\nIf you prefer to run `lntop` from a docker container, `cd docker` and follow [`README`](docker/README.md) there.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedouardparis%2Flntop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fedouardparis%2Flntop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedouardparis%2Flntop/lists"}