3 个版本 (重大变更)
0.3.0 | 2024年2月13日 |
---|---|
0.2.0 | 2024年2月12日 |
0.1.0 | 2023年12月14日 |
#1796 in 神奇豆子
每月下载量 264 次
13KB
272 行
Iron Fish
Iron Fish 是一个提供每个交易最强隐私保证的一层区块链。利用零知识证明(zk-SNARKs)和最高行业标准的加密。
开发者安装
以下步骤仅应在您计划为 Iron Fish 代码库做出贡献时使用。否则,我们 强烈 建议使用此处提供的方法安装:https://ironfish.network/use/get-started/installation
-
安装 Rust。
-
安装 Yarn。
-
Windows
- 从 Microsoft Store 软件包 安装当前版本的 Python。
- 安装 Visual C++ Build Environment: Visual Studio Build Tools(使用“Visual C++ build tools”或“使用 C++ 开发桌面应用程序”工作负载)
如果以上步骤对您无效,请访问 Microsoft 的 Node.js Windows 环境指南 以获取更多提示。
-
从根目录运行
yarn install
来安装软件包。-
如果
yarn install
在包含“Failed to build cmake”的错误时失败,您可能需要先安装 cmake。例如,在 macOS 上- 运行
brew install cmake
,您需要 cmake 版本 3.15 或更高。
- 运行
-
如果
yarn install
失败并显示包含“无法找到OpenSSL”的错误信息,您可能需要先安装OpenSSL并添加环境变量。例如,在macOS上:- 运行
brew install openssl
- 运行
export OPENSSL_ROOT_DIR=`brew --prefix openssl`
- 再次运行
yarn install
。
- 运行
-
如果
yarn install
失败并显示包含“Error: not found: make”、“make: cc: Command not found”或“make: g++: Command not found”的错误信息,您可能需要安装C/C++编译器工具链。- 在Ubuntu上:
apt install build-essential
- 在Amazon Linux上:
sudo yum groupinstall "Development Tools"
- 在Ubuntu上:
-
如果
yarn install
失败并显示包含“Error: Could not find any Python installation to use”的错误信息,您可能需要在macOS上安装Python3(node-gyp所需的)。- 运行
brew install python
- 运行
-
使用方法
一旦您的环境设置完成,您可以通过这些说明运行CLI。
运行测试
注意:运行测试需要Node.js 20或更高版本。
- 要测试整个monorepo
- 在存储库根目录下运行
yarn test
- 在./ironfish/中运行
yarn test:slow
以运行慢速测试 - 在存储库根目录下运行
yarn test:coverage
以获取测试和覆盖率
- 在存储库根目录下运行
- 要测试特定项目
- 在项目根目录下运行
yarn test
- 如果您希望测试在更改时运行,请在./ironfish或./ironfish-cli中运行
yarn test:watch
- 如果您希望以易于使用的格式导出覆盖率,请运行
yarn test:coverage:html
(在项目的覆盖率文件夹中打开index.html文件)
- 在项目根目录下运行
运行基准测试和性能测试
- Rust基准测试
cargo benchmark
是定义在./.cargo/config.toml
中的cargo别名
cargo benchmark
以运行所有基准测试cargo benchmark -- simple
以仅运行名称中包含“simple”文本的基准测试
- Typescript基准测试
cdironfish
yarn test:perf
存储库结构
- ironfish:包含IronfishSDK以及所有用TypeScript编写的Ironfish代码的库。
- ironfish-cli:截至今天,Iron Fish的主要客户端。它是一个基于Node的命令行界面。更多详情请参阅我们的文档。
- ironfish-rust:与交易、链交互和使用ZKP的核心API。
- ironfish-rust-nodejs:
ironfish-rust
的原生NodeJS插件包装器。
贡献代码
如果您想贡献代码,您必须首先阅读我们的贡献指南,否则您的拉取请求可能会被关闭。
其他仓库
- iron-fish/homebrew-brew:包含通过Brew包管理器安装的brew公式
- iron-fish/website:为ironfish.network提供动力的仓库
- iron-fish/website-testnet:为testnet.ironfish.network提供动力的仓库
- iron-fish/ironfish-api:为大多数Iron Fish API服务提供动力的仓库
- iron-fish/chain-explorer:一个可视化工具,用于探索区块链及其所有分支
审计
本仓库中的Iron Fish核心协议实现已由Inversed Tech进行安全审计,审计完成于2023年6月1日。完整的审计报告,包括发现摘要、资源概述和详细分解,可在此处找到。更多详情请参阅我们的博客文章。
许可
此代码库以及任何贡献将受MPL-2.0软件许可协议的约束。
依赖
~1.5MB
~41K SLoC