1 个发布版 (0 个不稳定)
1.0.0-beta.29 | 2023年10月17日 |
---|
#16 in #zebra
11KB
内容
关于
Zebra 是 Zcash 基金会独立、与共识兼容的 Zcash 节点实现。
Zebra 的网络堆栈与 zcashd
兼容,Zebra 实现了达到 Zcash 网络共识所需的所有功能,包括对 NU5 网络升级的所有共识规则进行验证。 这里 是一些 Zebra 的优点。
Zebra 验证区块和交易,但需要额外的软件来生成它们
- 要生成交易,请使用
lightwalletd
运行 Zebra。请参阅 此处。 - 要生成区块,请启用挖掘支持,并使用与 Zebra 挖掘 JSON-RPC 兼容的挖掘池或挖掘机。挖掘支持目前尚不完整,为实验性,默认情况下已禁用。
如果您想了解更多信息或参与其中,请加入我们的 Discord!
入门指南
您可以使用我们的 Docker 镜像运行 Zebra,或者手动构建它。请参阅 Zebra 书籍中的 系统要求 部分。
Docker
此命令将运行我们的最新发布版,并将其同步到最新位置
docker run zfnd/zebra:latest
有关更多信息,请参阅我们的 Docker 文档。
构建 Zebra
构建 Zebra 需要 Rust、libclang、pkg-config 和一个 C++ 编译器。
斑马使用了最新的 稳定
Rust 版本。早期的版本不受支持或未经过测试。任何斑马版本都可以根据最新的稳定 Rust 中的新功能启动。
每隔几周,我们都会发布一个新的 斑马版本。
以下是关于在您的机器上安装依赖项的简要说明。
安装依赖项的一般说明
-
安装
cargo
和rustc
。 -
安装斑马的构建依赖项
- libclang 是一个库,它的名称可能因您的包管理器而异。常见的名称有
libclang
、libclang-dev
、llvm
或llvm-dev
。 - clang 或另一个 C++ 编译器:
g++
(所有平台)或Xcode
(macOS)。 - pkg-config
- libclang 是一个库,它的名称可能因您的包管理器而异。常见的名称有
Arch 上的依赖项
sudo pacman -S rust clang pkgconf
请注意,包 clang
包含了 libclang
以及 C++ 编译器。
一旦安装了依赖项,您就可以构建和安装斑马
cargo install --locked zebrad
您可以通过以下方式启动斑马
zebrad start
可选配置和功能
配置进度条
在您的 zebrad.toml
中配置 tracing.progress_bar
以 使用进度条在终端中显示关键指标。当进度条处于活动状态时,斑马会自动将日志发送到文件。
在未来的版本中,progress_bar = "summary"
配置将显示一些关键指标,而 "detailed" 配置将显示所有可用的指标。请告诉我们哪些指标对您很重要!
自定义构建功能
您还可以使用额外的 Cargo 功能 构建斑马
getblocktemplate-rpcs
用于 挖掘支持prometheus
用于 Prometheus 指标sentry
用于 Sentry 监控elasticsearch
用于 实验性 Elasticsearch 支持
您可以通过列出 --features
标志的参数来组合多个功能
cargo install --features="<feature1> <feature2> ..." ...
我们完整的实验性和开发者功能列表在 API 文档中。
一些调试和监控功能在发布构建中已被禁用,以提高性能。
已知问题
斑马中还有一些我们仍在努力修复的错误
-
斑马目前会传播并连接到 私有 IP 地址,我们希望在即将发布的版本中禁用私有 IP,但提供配置(#3117)。
-
如果斑马在下载 Zcash 参数时失败,请使用 Zcash 参数下载脚本。
-
在斑马初始同步期间,块下载和验证有时会超时 #5709。完整的同步仍然可以相当快地完成。
-
Rust 1.70 在 macOS x86_64 上的关闭过程中导致崩溃(#6812)。尽管发生崩溃,状态缓存仍然应该是有效的。
-
不支持Windows系统 #3801。我们曾经使用Windows Server 2019进行测试,但现在不再使用;详情请查看该问题。
-
实验性Tor支持将在Zebra升级到最新的
arti-client
之前被禁用。这是由于Rust依赖冲突导致的,只能通过将arti
升级到包含依赖修复的x25519-dalek
版本来解决。
未来工作
我们将继续作为未来网络升级的一部分添加新功能,并响应社区反馈。
文档
Zebra网站包含用户文档,例如如何运行或配置Zebra、设置指标集成等,以及开发者文档,例如设计文档。我们还为我们crates的外部API提供了API文档,以及内部文档。
用户支持
对于错误报告,请在Zebra仓库中创建错误报告票据。
或者通过聊天,加入Zcash Foundation Discord服务器并找到#zebra-support频道。
安全
Zebra有一个负责任披露政策,我们鼓励安全研究人员遵循。
许可证
Zebra在MIT许可和Apache许可(版本2.0)的条款下分发。
请参阅LICENSE-APACHE和LICENSE-MIT。
一些Zebra crates仅在MIT许可下分发,因为其中一些代码最初来自MIT许可的项目。请参阅每个crate的目录以获取详细信息。