Iron Fish is a Layer 1 blockchain that provides the strongest privacy guarantees on every single transaction. Leveraging zero-knowledge proofs (zk-SNARKs), and the highest industry standards for encryption.
- Install Node.js 16.x
- Install Rust.
- Install Yarn.
- Windows:
- Install Build Tools for Visual Studio 2019, including the C++ Build Tools and the Windows 10 SDK, for Rust.
- Rust builds also require installing MinGW-w64 via win-builds.
- Choose
Native Windows
,x86_64
, choose an empty directory, and click OK. - On the next screen, click
Process
. - Once it finishes, add the
bin
folder containingcc
to your PATH environment variable.
- Choose
- Run
yarn install
from the root directory to install packages.-
If
yarn install
fails with an error that includes "Failed to build cmake", you may need to first install cmake. For example, on macOS:- Run
brew install cmake
, you'll need cmake version 3.15 or higher.
- Run
-
If
yarn install
fails with an error that includes "Could NOT find OpenSSL", you may need to first install OpenSSL and add an environment variable. For example, on macOS:- Run
brew install openssl
- Run
export OPENSSL_ROOT_DIR=`brew --prefix openssl`
- Run
yarn install
again.
- Run
-
If
yarn install
fails with an error that includes "Error: not found: make", "make: cc: Command not found", or "make: g++: Command not found", you may need to install a C/C++ compiler toolchain.- On Ubuntu:
apt install build-essential
- On Amazon Linux:
sudo yum groupinstall "Development Tools"
- On Ubuntu:
-
Once your environment is setup - you can run the CLI by following these directions.
- To test the entire monorepo:
- Run
yarn test
at the root of the repository - Run
yarn test:slow
at the root of the repository to run slow tests - Run
yarn test:coverage
at the root of the repository for tests and coverage
- Run
- To test a specific project
- Run
yarn test
at the root of the project - Run
yarn test:watch
if you want the tests to run on change - Run
test:coverage:html
if you want to export the coverage in an easy to use format (open the index.html file in the coverage folder of the project)
- Run
- ironfish: The library that contains the IronfishSDK and all Ironfish code written in TypeScript.
- ironfish-cli: The main client for Iron Fish as of today. It is a command line interface built on Node. More details on our documentation.
- ironfish-rust: Core API for interacting with the transactions and chain and using ZKP.
- ironfish-rust-nodejs: Wrapper for
ironfish-rust
as a native NodeJS addon. - ironfish-rust-wasm: Wrapper for
ironfish-rust
in WASM. - ironfish-graph-explorer: A visual tool to explore the block chain and all of its forks.
- iron-fish/homebrew-brew: Contains brew formula for installing via the Brew package manager
- iron-fish/website: The repo that powers ironfish.network