70 个版本 (15 个重大更新)

0.17.9 2024年6月15日
0.17.6 2024年4月24日
0.17.2 2024年3月29日
0.16.2 2023年12月26日
0.4.0 2020年11月28日

#158命令行工具

Download history 74/week @ 2024-04-27 15/week @ 2024-05-04 5/week @ 2024-05-11 14/week @ 2024-05-18 21/week @ 2024-05-25 274/week @ 2024-06-01 292/week @ 2024-06-08 380/week @ 2024-06-15 160/week @ 2024-06-22 60/week @ 2024-06-29 157/week @ 2024-07-06 86/week @ 2024-07-13 45/week @ 2024-07-20 85/week @ 2024-07-27 36/week @ 2024-08-03 13/week @ 2024-08-10

每月200 次下载

GPL-3.0 许可证

1.5MB
4K SLoC

Autononomi 节点仪表板

vdash 是一个基于终端的仪表板,用于监控 Autononomi 节点。它使用 Rust 编写,终端 GUI 使用 ratatui 实现,并通过 linemux 监控一个或多个节点日志文件。

状态:在 Windows、MacOS 和 Linux 上工作,支持公共和本地测试网络。

vdash 可以监控本地机器上的多个日志文件,显示每个节点的多个指标,包括 PUTS(存储的块数)、当前存储费用和节点收益。许多指标既以数值形式出现,也可以在时间图上实时查看。

讨论和错误报告

Autononomi 论坛主题是主要的讨论论坛: Vdash - Autononomi 节点的仪表板

可以在 github issues 中提交错误报告和功能请求。

远程监控

可以通过使用 rsyslog 将远程日志文件镜像到运行 vdash 的机器上来监控远程日志文件。这将允许从一台机器监控多个远程机器。我尚未尝试使用 rsylog,但我通过使用 tail 通过 ssh 来镜像远程日志文件到运行 vdash 的机器来监控远程机器上的节点。

这是一个早期的 vdash(v0.2.0)与本地测试网节点一起工作的截图: vdash v0.2.0 截图

功能

vdash将从一个或多个Safe节点日志文件中加载历史指标,并在终端中实时更新显示这些指标(见上方)。按'?'键可以查看键盘命令列表,以下是一些用于摘要节点状态屏幕的描述。

监控节点摘要

方向键:向上和向下箭头选择一行,包含特定节点的数据。左和右箭头选择列标题,并按所选列的值排序行。

空格键:按下空格键将所选列的排序在升序和降序之间切换。

Enter键:切换显示以显示突出显示行的节点状态

q键:按'q'键退出。

?键:显示帮助。

节点状态

Enter键:切换显示回到监控节点摘要

方向键:左和右箭头在不同节点之间切换单个节点显示。

i键和o键:使用'i'和'o'(或'+'和'-')键缩放时间线比例。

t键和T键:如果由于垂直空间不足而未显示某些时间线,可以通过按't'(向前)和'T'(向后)键在时间线之间循环,使它们显示出来。

m键或M键:存储成本时间线在每个时间槽中显示最小值、平均值和最大值。要循环通过最小值、平均值和最大值显示,请按'm'或'M'。

q键:按'q'键退出。

?键:显示帮助。

操作系统

  • Linux:在Linux上工作(已在Ubuntu上测试)。
  • Windows:在Windows 10上工作。最近未进行测试。
  • MacOS:在MacOS上工作。最近未进行测试。

使用Linux包管理器安装

vdash已由Jonas Smedegaard的慷慨努力打包为debian。从2024年开始,它将开始在许多下游Linux发行版中提供,但由于更新速度,打包版本可能落后于crates.io上发布的版本,该版本始终是最新的。

您可以在您的发行版中检查safe-vdash包的状态,并选择是否从那里安装或按以下说明获取最新版本。

从crates.io安装

1 通过https://doc.rust-lang.net.cn/cargo/getting-started/installation.html安装Rust

2a. Linux (Ubuntu)

sudo apt-get install build-essential

2b. Linux/MacOS安装vdash:

cargo install vdash
vdash --help

2c. Windows安装vdash:

Windows最近未进行测试,因此您可能想先尝试使用cargo insall vdash,看看现在是否工作。如果不起作用,您将需要使用Rust Nightly进行构建。

直到'itarget'功能成为'stable'的一部分,请手动构建并首先使用Rust Nightly编译器安装Rust Nightly,使用rustup安装Rust Nightly。

rustup toolchain install nightly

要在Windows上构建vdash,请克隆vdash,使用+nightly构建,并使用它创建的./taget/release目录下的二进制文件。

git clone https://github.com/happybeing/vdash
cd vdash
cargo +nightly build -Z features=itarget --bin vdash --release --no-default-features

./target/release/vdash --help

使用vdash - 自主节点仪表板

vdash提供了一个基于终端的图形仪表板,用于显示本地机器上的Autononomi节点活动。它解析来自一个或多个节点日志文件的数据,以收集实时节点指标,并使用终端图形显示这些指标。

获取Autononomi先决条件

  1. 获取Rust:请参阅:https://doc.rust-lang.net.cn/cargo/getting-started/installation.html

  2. 获取Autonomi节点应用程序:在2024年6月5日测试版发布时,有两种运行节点的方式。node-launchpad是一个简单的基于终端的用户界面(TUI),而safenode-manager是面向“高级用户”的命令行程序,尽管社区可以协助您使用任一应用程序。有关如何获取这些应用程序并加入测试版的详细信息,请参阅https://autonomi.com

  3. 启动您的Autonomi节点:有关文档,请参阅https://docs.autonomi.com;如需帮助,请加入论坛

您现在可以安装vdash并通过运行本地测试网络进行测试。

用法

获取帮助

vdash --help

通常,您只需传递您想要监视的一个或多个节点日志文件的路径。例如,要运行vdash,首先使用上述Autonomi节点应用程序之一启动您的Autononomi节点(见上文)。

然后,启动vdash。您可以提供一个或多个日志文件的路径。您还可以使用-g指定一个glob路径。当您提供glob路径时,您可以在启动更多节点后按'r'(重新扫描)键盘命令,或者通过在命令行上使用--glob-scan选项自动进行重新扫描。

日志文件的路径取决于您使用的是哪个Autonomi节点应用程序,以及您的操作系统。以下只是示例,您需要为您的特定配置提供路径。

Linux

vdash -g "/home/<USERNAME>/.local/share/safe/node/safenode*/logs/safenode.log"

Mac

vdash "/Users/<USERNAME>/Library/Application Support/safe/node/*/logs/safenode.log"

Windows

vdash C:\Users\<USERNAME>\AppData\Roaming\safe\node\*\logs\safenode.log

vdash的键盘命令在上面的介绍中已总结。

vdash和'glob'路径

vdash接受一个或多个文件路径,但您还可以指定一个或多个'glob'路径,该路径可以扫描目录树以查找匹配的文件。这使您可以在vdash启动后添加新的节点,无论是使用'r'(重新扫描)键盘命令,还是通过在命令行上使用--glob-scan选项自动进行重新扫描。

vdash在启动时扫描提供的所有'glob'路径,并且每次您按'r'时都会再次扫描。

请注意,与文件路径不同,您必须使用引号将'glob'路径括起来,以防止shell尝试展开它。在示例中,您需要将<USER>替换为您的帐户的适当主目录名称。

Linux的示例

vdash --glob-path "$HOME/.local/share/safe/node/safenode*/logs/safenode.log"

使用双引号而不是单引号,您可以在路径中使用'$HOME'而不是明确提供主目录。

日志文件的路径取决于您使用的是哪个Autonomi节点应用程序,以及您的操作系统。以下只是示例,您需要为您的特定配置提供路径。

显示代币值

vdash以Autononomi代币的形式显示节点收益和存储成本,以'nano'或代币的十亿分之一表示。但它可以显示为当地货币(例如,美元、英镑等)的代币值。为此,它需要一种方法来获取货币的汇率,并被告知在显示中应使用哪个符号(例如,“$”,“£”等)。

您可以通过在命令行上传递固定值来完成此操作,或者让vdash使用受支持的Web API之一获取实时值。

命令行上的货币

有两个选项允许您指定所选货币的汇率和符号。

例如,对于1.23美元的代币值,您将使用以下命令行选项

--currency-symbol "$" --currency-token-rate 1.23

您可以使用上述内容提供默认转换,并在可用时使用实时价格覆盖此内容。

有关更多信息,请输入vdash --help

通过Web API获取实时价格

vdash可以从Coingecko.com或Coinmarketcap.com提供的Web API中获取指定货币的Autononomi代币价格,前提是你有对应API的访问密钥。目前,这两个平台都提供付费和免费/演示API密钥,你可以在这些网站上注册账户来获取。

如果你有这些服务的密钥,必须按照以下方式在命令行中将它们传递给vdash

在这两种情况下,vdash都会设置一个默认的轮询间隔,这个间隔不会超过免费API密钥的广告API请求次数,尽管你可以通过在命令行上指定轮询间隔来缩短这个间隔。

有关更多信息,请输入vdash --help

Coingecko.com

要在命令行中使用vdash从Coingecko.com获取代币价格,请包括以下内容,并用你从服务中获得的API密钥替换YOUR-API-KEY

--currency-apiname "GBP" --currency-symbol "£" --coingecko-key "YOUR-API-KEY"

Coinmarketcap.com

要在命令行中使用vdash从Coinmarketcap.com获取代币价格,请包括以下内容,并用你从服务中获得的API密钥替换YOUR-API-KEY

--currency-apiname "GBP" --currency-symbol "£" --coinmarketcap-key "YOUR-API-KEY"

使用vdash

使用Autonomi节点应用程序启动您的节点。

当您的节点或节点启动后,运行vdash,通常在不同的终端中。

vdash --glob-path "$HOME/.local/share/safe/node/*/safenode.log"

根据您的配置修改上述示例,并根据需要包括任何额外的命令行选项。

例如,要使用本地货币显示收益和存储成本

vdash --currency-apiname "USD" --currency-symbol "$" --glob-path "$HOME/.local/share/safe/node/*/logs/safenode.log"

使用vdash与本地测试网络

首先克隆Autononomi仓库,切换到克隆副本的目录,并检出分支stable

git clone https://github.com/maidsafe/safe_network
cd safe_network
git checkout stable

然后根据以下说明启动本地测试网络这里

然后您可以启动vdash来显示该网络中节点的状态,如下所示

vdash --currency-apiname "USD" --currency-symbol "$" --glob-path "$HOME/.local/share/safe/node/*/logs/safenode.log"

如果您返回到这里的说明,您可以为文件上传支付一些代币,并使用该链接中的说明再次上传一些文件,并使用vdash监控您的测试网络节点的活动。

构建(仅限开发者)

请参阅获取Autononomi先决条件

获取代码

git clone https://github.com/happybeing/vdash
cd vdash

构建 - Linux / MacOS / Windows 10

注意:MacOS和Windows尚未经过测试,但可能“刚好能工作” - 请在问题中报告成功或失败。

cargo build --release

如果针对目标'musl'构建,vdash会使用大量更少的内存。

rustup target add x86_64-unknown-linux-musl
cargo build --release --target x86_64-unknown-linux-musl

比较内存使用(在Linux上使用htop

VIRT   RES  SHR
803M  9372 4716 x13 threads (release)
32768 6848 2440 x13 threads (release/musl)

注意:上述数据已过时,但说明了这一点。

许可协议

除非另有说明,否则所有内容均为GPL3.0。任何贡献都必须符合此许可协议。

另请参阅./LICENSE

依赖关系

~19–35MB
~565K SLoC