1个不稳定版本
0.1.0-alpha.1 | 2024年1月29日 |
---|
#15 在 #zebra 中
12KB
内容
关于
Zebra 是Zcash基金会独立的、与共识兼容的Zcash节点实现。
Zebra的网络栈与zcashd
互操作,并且Zebra实现了达到Zcash网络共识所需的所有功能,包括对NU5网络升级的所有共识规则进行验证。这里是Zebra的一些优点。
Zebra验证区块和交易,但需要额外的软件来生成它们
- 要生成交易,请使用
lightwalletd
运行Zebra。请参阅。 - 要生成区块,请使用具有Zebra挖掘JSON-RPCs的矿池或矿工。目前Zebra只能将挖掘奖励发送到单个固定地址。要分配奖励,请使用创建其自己的分配交易的挖掘软件、轻钱包或
zcashd
钱包。
如果您想了解更多信息或参与其中,请加入我们的Discord!
入门
您可以使用我们的Docker镜像运行Zebra,或者您可以手动构建它。请参阅Zebra手册中的系统要求部分。
Docker
此命令将运行我们的最新版本,并将其同步到最新版本
docker run zfnd/zebra:latest
有关更多信息,请参阅我们的Docker文档。
构建Zebra
构建Zebra需要Rust、libclang、pkg-config和C++编译器。
Zebra使用最新的stable
Rust版本进行测试。不支持或测试早期版本。任何Zebra版本都可以根据最新稳定Rust中的新功能开始。
每隔几周,我们都会发布一个新的Zebra版本。
以下是安装机器上依赖项的快速总结。
安装依赖项的一般说明
-
安装
cargo
和rustc
。 -
安装 Zebra 的构建依赖项
- 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++ 编译器。
一旦依赖项就绪,您可以构建并安装 Zebra
cargo install --locked zebrad
您可以通过以下方式启动 Zebra
zebrad start
请参阅本书中的安装 Zebra 和 运行 Zebra 部分,了解更多详细信息。
可选配置和功能
初始化配置文件
zebrad generate -o ~/.config/zebrad.toml
上述命令将生成的 zebrad.toml
配置文件放置在 Linux 的默认首选项目录中。对于其他操作系统默认位置 请参阅此处。
配置进度条
在您的 zebrad.toml
中配置 tracing.progress_bar
以 使用进度条在终端中显示关键指标。当进度条处于活动状态时,Zebra 会自动将日志发送到文件。
已知问题在于 进度条估计变得非常大。
在未来版本中,progress_bar = "summary"
配置将显示一些关键指标,而“详细”配置将显示所有可用指标。请告诉我们哪些指标对您很重要!
配置挖矿
您可以通过将 MINER_ADDRESS
和端口映射传递到 Docker 来配置 Zebra 进行挖矿。有关更多详细信息,请参阅挖矿支持文档。
自定义构建功能
您还可以通过额外的 Cargo 特性 构建 Zebra
prometheus
用于 Prometheus 指标sentry
用于 Sentry 监控elasticsearch
用于 实验性 Elasticsearch 支持shielded-scan
用于 实验性屏蔽扫描支持
您可以通过将它们作为 --features
标志的参数列出来组合多个特性
cargo install --features="<feature1> <feature2> ..." ...
我们完整的实验性和开发者功能列表在 API 文档 中。
一些调试和监控功能在发行版构建中被禁用,以提高性能。
已知问题
Zebra 中还有一些我们正在努力修复的错误
-
进度条估计可能变得非常大。我们正在等待进度条库的修复。
-
在Zebra的初始同步过程中,有时会超时下载和验证#5709。完整同步仍然可以相对较快完成。
-
不支持Windows#3801。我们曾用Windows Server 2019进行测试,但现在已经不再使用;请参阅问题详情。
-
实验性的Tor支持被禁用,直到Zebra升级到最新的
arti-client
。这是由于Rust依赖冲突导致的,只能通过将arti
升级到具有依赖修复功能的x25519-dalek
版本来解决。
文档
Zcash基金会维护以下资源以记录Zebra
用户支持
对于错误报告,请在Zebra仓库中提交错误报告工单。
或者通过聊天,加入Zcash基金会Discord服务器并找到#zebra-support频道。
安全
Zebra有负责任的披露政策,我们鼓励安全研究人员遵守。
许可
Zebra根据MIT许可证和Apache许可证(版本2.0)的条款进行分发。
请参阅LICENSE-APACHE和LICENSE-MIT。
某些Zebra模块仅根据MIT许可证进行分发,因为其中一些代码最初来自MIT许可的项目。请参阅每个模块目录以获取详细信息。