4 个版本
0.1.0 |
|
---|---|
0.1.0-5 | 2021 年 12 月 21 日 |
0.1.0-4 | 2021 年 9 月 25 日 |
#12 in #持久化
1MB
18K SLoC
Rust Lightning 签署器
请参阅 Rust Lightning 签署器项目概述 以获取更多信息。
启动 gRPC 服务器
gRPC 服务器是签署器的参考实现,它通过 gRPC 监听来自节点和管理 CLI 的请求。
可以通过以下方式启动
cargo run --bin server
服务器将状态持久化到当前目录的 .lightning-signer
中。
使用管理 CLI
假设服务器正在运行(见上文),可以按以下方式调用管理 CLI
cargo run --bin client -- [ARGUMENTS]
例如,要获取帮助,请运行
cargo run --bin client -- help`
以下是一个示例会话
# this outputs the new mnemonic phrase to stderr
node_id=$(cargo run --bin client -- node new)
# alternatively, supply the mnemonic phrase on stdin
# cargo run --bin client -- node new --mnemonic
# insert an address into the allowlist
cargo run --bin client -- -n $node_id allowlist add tb1qhetd7l0rv6kca6wvmt25ax5ej05eaat9q29z7z
cargo run --bin client -- -n $node_id allowlist list
channel_id=$(cargo run --bin client -- channel new -n $node_id)
cargo run --bin client -- channel list -n $node_id
开发信息
代码格式化
由于某种原因,rustfmt 的 ignore
配置仅在 nightly 频道中可用,尽管它在文档中被标记为稳定。
rustup install nightly
cargo +nightly fmt
构建 Rust Lightning 签署器
cargo build
或者如果您想禁用 grpc(grpc 是唯一默认功能)
cargo build --no-default-features
运行单元测试
cargo test
为了为失败的测试启用日志记录(调整日志级别到您喜欢的级别)
RUST_LOG=trace cargo test
运行服务器
cargo run --bin server
使用 kcov 进行代码覆盖率
依赖项
sudo dnf install -y elfutils-devel
sudo dnf install -y curl-devel
sudo dnf install -y binutils-devel
从 [email protected]:SimonKagstrom/kcov.git 构建 kcov v38。
更多依赖项
cargo install cargo-kcov
cargo install cargo-coverage-annotations
运行覆盖率
./scripts/run-kcov
./scripts/run-kcov-functional
./scripts/run-kcov-all
查看覆盖率报告
[target/kcov/cov/index.html](target/kcov/cov/index.html)
依赖项
~17–29MB
~357K SLoC