#zebra #zcash #api-bindings

zebra-script

包装 zcashd 的 zcash_script 库以验证 Zebra 脚本

14 个版本

1.0.0-beta.382024 年 7 月 2 日
1.0.0-beta.362024 年 4 月 17 日
1.0.0-beta.352024 年 2 月 24 日
1.0.0-beta.322023 年 12 月 12 日
0.0.0-placeholder.02023 年 4 月 18 日

12 in #zebra

Download history 9/week @ 2024-04-20 132/week @ 2024-04-27 139/week @ 2024-05-04 22/week @ 2024-05-11 17/week @ 2024-05-18 15/week @ 2024-05-25 11/week @ 2024-06-01 14/week @ 2024-06-08 10/week @ 2024-06-15 10/week @ 2024-06-22 169/week @ 2024-06-29 16/week @ 2024-07-06 24/week @ 2024-07-13 2/week @ 2024-07-20 95/week @ 2024-07-27 2/week @ 2024-08-03

123 每月下载
4 个 crate (2 直接) 中使用

MIT/Apache

1.5MB
24K SLoC

Zebra logotype


Integration Tests CI OSes Continuous Delivery codecov Build docs License

关于

Zebra 是 Zcash 基金会独立且与共识兼容的 Zcash 节点实现。

Zebra 的网络堆栈与 zcashd 兼容,并且 Zebra 实现了达到 Zcash 网络共识所需的所有功能,包括验证 NU5 网络升级的所有共识规则。 这里 是 Zebra 的一些好处。

Zebra 验证块和交易,但需要额外的软件来生成它们

  • 要生成交易,请使用 lightwalletd 运行 Zebra。
  • 要生成区块,请使用具有 Zebra 矿工 JSON-RPC 的采矿池或矿工。目前 Zebra 只能将采矿奖励发送到单个固定地址。为了分配奖励,请使用创建其自己的分配交易的采矿软件、轻钱包或 zcashd 钱包。

如果您想了解更多或参与其中,请加入我们的 Discord

入门指南

您可以使用我们的 Docker 镜像运行 Zebra,或者您可以手动构建它。请参阅 Zebra 书中的系统要求部分。

Docker

此命令将运行我们的最新版本,并将其同步到最新版本

docker run zfnd/zebra:latest

有关更多信息,请阅读我们的Docker 文档

构建 Zebra

构建Zebra需要Rustlibclang以及一个C++编译器。

Zebra使用最新的stable Rust版本进行测试。早期版本不受支持或未进行测试。任何Zebra版本都可以根据最新稳定版Rust的新功能启动。

大约每隔6周,我们发布一个新的Zebra版本

以下是安装依赖项的快速摘要。

安装依赖项的通用说明

  1. 安装cargorustc

  2. 安装Zebra的构建依赖项

    • libclang是一个库,可能根据您的包管理器的不同而具有不同的名称。典型名称是libclanglibclang-devllvmllvm-dev
    • clang或另一个C++编译器:g++(所有平台)或Xcode(macOS)。
    • protoc

[!NOTE] 在编译过程中,Zebra使用--experimental_allow_proto3_optional标志与protoc。此标志于2020年5月16日发布的Protocol Buffers v3.12.0中引入,因此请确保您没有使用早于3.12的protoc版本。

Arch上的依赖项

sudo pacman -S rust clang protobuf

请注意,包clang包括libclang以及C++编译器。

一旦安装了依赖项,您就可以构建和安装Zebra

cargo install --locked zebrad

您可以通过以下方式启动Zebra

zebrad start

请参考书籍中的安装Zebra运行Zebra部分,以启用可选功能、详细配置和更多信息。

文档

Zcash基金会维护以下资源来记录Zebra

用户支持

对于错误报告,请在Zebra存储库中打开错误报告票据

或者通过聊天,加入Zcash基金会Discord服务器并找到#zebra-support频道。

我们在书籍的故障排除部分维护已知问题的列表。

安全

Zebra有一个负责任的披露政策,我们鼓励安全研究人员遵循。

许可证

Zebra根据MIT许可证和Apache许可证(版本2.0)的条款分发。

请参阅LICENSE-APACHELICENSE-MIT

一些Zebra crate仅根据MIT许可证分发,因为这些代码最初来自MIT许可的项目。请参阅每个crate目录中的详细信息。

依赖项

~35–47MB
~799K SLoC