Cargo Features

[dependencies]
lnp_node = { version = "0.9.1", default-features = false, features = ["all", "bolt", "bifrost", "server", "embedded", "tor"] }

Recommended set of features:

  1. Standalone node: server (=node+shell)
  2. Cli to remote node: cli (auto includes shell and integration)
  3. Mobile app talking to a server: client
  4. Mobile app with embedded node: embedded (auto includes client + node)
  5. Simple cli utility app: shell
default = bifrost, bolt, server

These default features are set whenever lnp_node is added without default-features = false somewhere in the dependency tree.

all = server, tor

"rgb"

bolt default

Enables bolt of lnp-core and lnp_rpc

Affects peerd::bolt

bifrost default

Enables bifrost of lnp-core and lnp_rpc

Affects peerd::bifrost

server default all? = clap, configure_me, dotenv, rpassword, settings, shellexpand

Server is a standalone application that runs daemons.
Required for all apps that can be launched from command-line shell as binaries (i.e. both servers and cli)

Enables cli and server of microservices and parse_arg of amplify ^3.14.1

LNP/BP crates

Affects lnp_node::opts

Required by channeld, lnpd, peerd, routed, signd and watchd binaries

embedded

Embedded is an app that contains embedded node and that talks to it through integration layer

Enables embedded of microservices

tor all?

Enables tor of internet2 and microservices

internet2:

Networking
----------

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

clap server

Enables clap ~3.2.23

settings server

Enables config ^0.10

configure_me server
dotenv server
shellexpand server

Enables shellexpand ^2

rpassword server

Enables rpassword ^5.0.1