Coder Social home page Coder Social logo

lncli-curses's Introduction

lncli-curses

Terminal user interface for lnd lightning daemon written in go

Features

  • Channels, peers, pending channels, payments, invoices, wallet transactions views
  • Close, open channels
  • Connect, disconnect peers
  • Create, pay invoices
  • Create new wallet addresses
  • Theming

Getting Started

Prerequisites

  • golang (1.10+) environment
  • A working and unlocked lncli (0.5.1)

Building

$ go get github.com/lleny/lncli-curses
$ cd $GOPATH/src/github.com/lleny/lncli-curses
$ make

Example

$ ./lncli-curses --lnclicmd=/usr/local/bin/lncli --lnddir=/home/user/.lnd

Usage

Usage:
  lncli-curses [OPTIONS]

Application Options:
  -l, --lnclicmd=        lncli executable (default: lncli)
  -r, --refresh=         lncli data refresh time in seconds (default: 60)
      --rpcserver=       host:port of ln daemon
      --lnddir=          path to lnd's base directory
      --tlscertpath=     path to TLS certificate
      --no-macaroons     disable macaroon authentication
      --macaroonpath=    path to macaroon file
      --macaroontimeout= anti-replay macaroon validity time in seconds
      --macaroonip=      if set, lock macaroon to specific IP address

Help Options:
  -h, --help             Show this help message

Navigation and actions are accessible through Alt+{shortcut key}, navigation in the forms is done with Tab, Alt+Tab

Screenshots

Add invoice

QR Code for new address and invoice New address

Theming

Small gree theme Colors can be modified through modification of the config.json file. Colors are using terminal escape sequences

"theme":
    {
        "background" :"1",
        "inverted" : "[48;5;21m",
        "highlight" : "[38;5;75m[48;5;0m",
        "error" : "[1m[38;5;196m",
        "labelHeader" : "[38;5;15m[48;5;0m",
        "normal" : "[38;5;15m[48;5;0m",
        "bold" : "[1m",
        "gridHeader" : "[48;5;89m[38;5;15m",
        "gridSelected" : "[48;5;33m[38;5;15m"
    },

Grid columns can also be renamed, removed, reordered, and adjusted in length through the same config.json file. A column with a width of 0 will use the available space equally shared between all the 0 width columns.

"channels" :
        {
            "header" : "[Channels]",
            "shortcutHeader" : "Channels",
            "columns" : [
                { "key": "Active", "header": "A", "width": 2 },
                { "key": "Private", "header": "P", "width": 2 },
                { "key": "Node", "header": "Node", "width": 0 },
                { "key": "Capacity", "header": "Capacity", "width": 13 },
                { "key": "Local", "header": "Local", "width": 13 },
                { "key": "Remote", "header": "Remote", "width": 13 },
                { "key": "ComFee", "header": "Com. fee", "width": 9 },
                { "key": "ComWeight", "header": "Com. weight", "width": 12 },
                { "key": "FeeKw", "header": "Fee/Kw", "width": 7 },
                { "key": "Unsettled", "header": "Unsettled", "width": 13 },
                { "key": "TotSent", "header": "Tot. sent", "width": 13 },
                { "key": "TotRec", "header": "Tot. rec.", "width": 13 }
            ]
        },

TO-DO

  • Stability improvement
  • Form validation
  • Datagrid sort
  • Datagrid search
  • ...

Acknowledgements

  • GOCUI - Go Console User Interface
  • viper - Go configuration with fangs
  • go-flags - Go command line option parser
  • go-qrcode - Go QR Code encoder

License

This project is licensed under the GPL v3 - see the LICENSE file for details

lncli-curses's People

Contributors

lleny avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.