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
binfolder containingccto your PATH environment variable.
- Choose
- Run
yarn installfrom the root directory to install packages.-
If
yarn installfails 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 installfails 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 installagain.
- Run
-
If
yarn installfails 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:
-
If
yarn installfails with an error that includes "Error: Could not find any Python installation to use", you may need to install Python3 (required by node-gyp). on MacOS:- Run
brew install python
- Run
-
Once your environment is setup - you can run the CLI by following these directions.
- To test the entire monorepo:
- Run
yarn testat the root of the repository - Run
yarn test:slowin ./ironfish/ to run slow tests - Run
yarn test:coverageat the root of the repository for tests and coverage
- Run
- To test a specific project
- Run
yarn testat the root of the project - Run
yarn test:watchin ./ironfish or ./ironfish-cli if you want the tests to run on change - Run
yarn test:coverage:htmlif 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 in our documentation.
- ironfish-rust: Core API for interacting with the transactions and chain and using ZKP.
- ironfish-rust-nodejs: Wrapper for
ironfish-rustas a native NodeJS addon. - ironfish-rust-wasm: Wrapper for
ironfish-rustin WASM.
If you want to contribute code, you must first read our contributing guidelines or risk having your pull request closed.
- iron-fish/homebrew-brew: Contains brew formula for installing via the Brew package manager
- iron-fish/website: The repo that powers ironfish.network
- iron-fish/website-testnet: The repo that powers testnet.ironfish.network
- iron-fish/ironfish-api: The repository that powers most Iron Fish API services.
- iron-fish/chain-explorer: A visual tool to explore the block chain and all of its forks.
This code base and any contributions will be under the MPL-2.0 Software License.
