Coder Social home page Coder Social logo

ohsevin / ironfish Goto Github PK

View Code? Open in Web Editor NEW

This project forked from iron-fish/ironfish

0.0 0.0 0.0 1.45 GB

A novel cryptocurrency focused on privacy and accessibility.

Home Page: https://ironfish.network

License: Mozilla Public License 2.0

Shell 0.43% JavaScript 0.97% Rust 11.43% TypeScript 87.14% Batchfile 0.01% Dockerfile 0.02%

ironfish's Introduction

Iron Fish

Iron Fish

Node CI Rust CI Node CI Regenerate Fixtures codecov

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.

See https://ironfish.network

Developer Install

The following steps should only be used to install if you are planning on contributing to the Iron Fish codebase. Otherwise, we strongly recommend using the installation methods here: https://ironfish.network/docs/onboarding/installation-iron-fish

  1. Install Node.js 18.x

  2. Install Rust.

  3. Install Yarn.

  4. Windows:

    1. Install the current version of Python from the Microsoft Store package.
    2. Install Visual C++ Build Environment: Visual Studio Build Tools (using "Visual C++ build tools" or "Desktop development with C++" workload)

    If the above steps didn't work for you, please visit Microsoft's Node.js Guidelines for Windows for additional tips.

  5. 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:

      1. Run brew install cmake, you'll need cmake version 3.15 or higher.
    • 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:

      1. Run brew install openssl
      2. Run export OPENSSL_ROOT_DIR=`brew --prefix openssl`
      3. Run yarn install again.
    • 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.

      1. On Ubuntu: apt install build-essential
      2. On Amazon Linux: sudo yum groupinstall "Development Tools"
    • If yarn install fails 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:

      1. Run brew install python

Usage

Once your environment is set up - you can run the CLI by following these directions.

Running Tests

  1. To test the entire monorepo:
    1. Run yarn test at the root of the repository
    2. Run yarn test:slow in ./ironfish/ to run slow tests
    3. Run yarn test:coverage at the root of the repository for tests and coverage
  2. To test a specific project
    1. Run yarn test at the root of the project
    2. Run yarn test:watch in ./ironfish or ./ironfish-cli if you want the tests to run on change
    3. Run yarn 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)

Structure of the repository

  • 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-rust as a native NodeJS addon.

Contributing Code

If you want to contribute code, you must first read our contributing guidelines or risk having your pull request closed.

Other Repositories

Licensing

This code base and any contributions will be under the MPL-2.0 Software License.

ironfish's People

Contributors

nullsoldier avatar mat-if avatar dguenther avatar hughy avatar rohanjadvani avatar danield9tqh avatar ygao76 avatar jowparks avatar mirayadav avatar deekerno avatar hairtail avatar wd021 avatar lwisne avatar holahula avatar evanjrichard avatar yuryironfish avatar amberkiso avatar leanthebean avatar hamza-siddiq avatar kupuyc avatar breathshoria avatar vchs1v avatar kernel32uiuc avatar krompets avatar cumpsd avatar blrhc avatar aditya-manit avatar styfle avatar floofy-moo avatar jtikey avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.