clightning: add currencyrate plugin

Add the currencyrate plugin. This is used by other plugins to fetch
currency rates. This can be used for setting fiat amounts in bolt12
invoices.

Signed-off-by: William Casarin <jb55@jb55.com>
This commit is contained in:
William Casarin 2022-07-25 17:08:01 -07:00 committed by Erik Arvstedt
parent 31af0df05b
commit e3c54aa64e
No known key found for this signature in database
GPG Key ID: 33312B944DD97846
3 changed files with 7 additions and 0 deletions

View File

@ -70,6 +70,7 @@ NixOS modules ([src](modules/modules.nix))
Available plugins:
* [clboss](https://github.com/ZmnSCPxj/clboss): automated C-Lightning Node Manager
* [commando](https://github.com/lightningd/plugins/tree/master/commando): control your node over lightning
* [currencyrate](https://github.com/lightningd/plugins/tree/master/currencyrate): currency converter
* [helpme](https://github.com/lightningd/plugins/tree/master/helpme): walks you through setting up a fresh c-lightning node
* [monitor](https://github.com/lightningd/plugins/tree/master/monitor): helps you analyze the health of your peers and channels
* [prometheus](https://github.com/lightningd/plugins/tree/master/prometheus): lightning node exporter for the prometheus timeseries server

View File

@ -3,6 +3,7 @@
with lib;
let
options.services.clightning.plugins = {
currencyrate.enable = mkEnableOption "Currencyrate (clightning plugin)";
helpme.enable = mkEnableOption "Help me (clightning plugin)";
monitor.enable = mkEnableOption "Monitor (clightning plugin)";
rebalance.enable = mkEnableOption "Rebalance (clightning plugin)";
@ -24,6 +25,7 @@ in {
config = {
services.clightning.extraConfig = mkMerge [
(mkIf cfg.currencyrate.enable "plugin=${pluginPkgs.currencyrate.path}")
(mkIf cfg.helpme.enable "plugin=${pluginPkgs.helpme.path}")
(mkIf cfg.monitor.enable "plugin=${pluginPkgs.monitor.path}")
(mkIf cfg.rebalance.enable "plugin=${pluginPkgs.rebalance.path}")

View File

@ -17,6 +17,10 @@ let
description = "Enable RPC over lightning";
extraPkgs = [ nbPython3Packages.runes ];
};
currencyrate = {
description = "Currency rate fetcher and converter";
extraPkgs = [ requests cachetools ];
};
feeadjuster = {
description = "Dynamically changes channel fees to keep your channels more balanced";
};