3 个版本 (重大变更)

0.3.0 2024年2月13日
0.2.0 2024年2月12日
0.1.0 2023年12月14日

#1796 in 神奇豆子

Download history 110/week @ 2024-03-10 1/week @ 2024-03-17 22/week @ 2024-03-24 120/week @ 2024-03-31 64/week @ 2024-04-07 92/week @ 2024-04-14 116/week @ 2024-04-21 20/week @ 2024-04-28 46/week @ 2024-05-05 30/week @ 2024-05-19 8/week @ 2024-05-26 34/week @ 2024-06-02 18/week @ 2024-06-09 59/week @ 2024-06-16 153/week @ 2024-06-23

每月下载量 264 次

MPL-2.0 许可证

13KB
272

Iron Fish

Iron Fish

Node CI Rust CI Node CI Regenerate Fixtures codecov

Iron Fish 是一个提供每个交易最强隐私保证的一层区块链。利用零知识证明(zk-SNARKs)和最高行业标准的加密。

请访问 https://ironfish.network

开发者安装

以下步骤仅应在您计划为 Iron Fish 代码库做出贡献时使用。否则,我们 强烈 建议使用此处提供的方法安装:https://ironfish.network/use/get-started/installation

  1. 安装 Node.js 20 LTS(或更高版本)

  2. 安装 Rust

  3. 安装 Yarn

  4. Windows

    1. Microsoft Store 软件包 安装当前版本的 Python。
    2. 安装 Visual C++ Build Environment: Visual Studio Build Tools(使用“Visual C++ build tools”或“使用 C++ 开发桌面应用程序”工作负载)

    如果以上步骤对您无效,请访问 Microsoft 的 Node.js Windows 环境指南 以获取更多提示。

  5. 从根目录运行 yarn install 来安装软件包。

    • 如果 yarn install 在包含“Failed to build cmake”的错误时失败,您可能需要先安装 cmake。例如,在 macOS 上

      1. 运行 brew install cmake,您需要 cmake 版本 3.15 或更高。
    • 如果yarn install失败并显示包含“无法找到OpenSSL”的错误信息,您可能需要先安装OpenSSL并添加环境变量。例如,在macOS上:

      1. 运行brew install openssl
      2. 运行export OPENSSL_ROOT_DIR=`brew --prefix openssl`
      3. 再次运行yarn install
    • 如果yarn install失败并显示包含“Error: not found: make”、“make: cc: Command not found”或“make: g++: Command not found”的错误信息,您可能需要安装C/C++编译器工具链

      1. 在Ubuntu上:apt install build-essential
      2. 在Amazon Linux上:sudo yum groupinstall "Development Tools"
    • 如果yarn install失败并显示包含“Error: Could not find any Python installation to use”的错误信息,您可能需要在macOS上安装Python3(node-gyp所需的)。

      1. 运行brew install python

使用方法

一旦您的环境设置完成,您可以通过这些说明运行CLI。

运行测试

注意:运行测试需要Node.js 20或更高版本。

  1. 要测试整个monorepo
    1. 在存储库根目录下运行yarn test
    2. 在./ironfish/中运行yarn test:slow以运行慢速测试
    3. 在存储库根目录下运行yarn test:coverage以获取测试和覆盖率
  2. 要测试特定项目
    1. 在项目根目录下运行yarn test
    2. 如果您希望测试在更改时运行,请在./ironfish或./ironfish-cli中运行yarn test:watch
    3. 如果您希望以易于使用的格式导出覆盖率,请运行yarn test:coverage:html(在项目的覆盖率文件夹中打开index.html文件)

运行基准测试和性能测试

  1. Rust基准测试
    • cargo benchmark是定义在./.cargo/config.toml中的cargo别名
    1. cargo benchmark以运行所有基准测试
    2. cargo benchmark -- simple以仅运行名称中包含“simple”文本的基准测试
  2. Typescript基准测试
    1. cdironfish
    2. yarn test:perf

存储库结构

  • ironfish:包含IronfishSDK以及所有用TypeScript编写的Ironfish代码的库。
  • ironfish-cli:截至今天,Iron Fish的主要客户端。它是一个基于Node的命令行界面。更多详情请参阅我们的文档
  • ironfish-rust:与交易、链交互和使用ZKP的核心API。
  • ironfish-rust-nodejsironfish-rust的原生NodeJS插件包装器。

贡献代码

如果您想贡献代码,您必须首先阅读我们的贡献指南,否则您的拉取请求可能会被关闭。

其他仓库

审计

本仓库中的Iron Fish核心协议实现已由Inversed Tech进行安全审计,审计完成于2023年6月1日。完整的审计报告,包括发现摘要、资源概述和详细分解,可在此处找到。更多详情请参阅我们的博客文章

许可

此代码库以及任何贡献将受MPL-2.0软件许可协议的约束。

依赖

~1.5MB
~41K SLoC