Coder Social home page Coder Social logo

eth-fin4's Introduction

FIN4 System

Structure

The project directory contains the following files and folders:

  • FIN4Contracts: Contains the prototype’s smart contracts as well as compilation and deployment scripts
  • FIN4Xplorer: Contains the React application
  • Ethereum-bridge: Contains the logic that Provable needs to forward on-chain requests to off-chain verifiers and vice versa
  • Docker-compose.yaml: Defines the containers that run the different services
  • .env: Sets the seed phrase used by the local ganache blockchain to enable the import of the accounts in MetaMask
  • .submodules: Handles the control of the FIN4Contracts and FIN4Xplorer directories that are individual repositories
  • ReadMe.md: Contains instructions for setting up and using the prototype and also troubleshooting

Setup

  1. Install Docker Desktop: https://docs.docker.com/desktop/
  2. Add MetaMask to your browser: https://metamask.io/
  3. On windows: git config --global core.autocrlf false check the troubleshooting section to see why this is needed.
  4. git clone --recurse-submodules https://github.com/moritz-schindelmann-tum/ETH-FIN4.git
  5. cd ETH-FIN4

Build the images / services

Run docker-compose build Depending on your system and docker version, you could see some warnings/errors in the console. You can ignore these as long as the build finishes successfully.

Start the system

Important note: Please do not start and stop single containers. Existing dependencies between the services require to start the system centrally using docker-compose as follows:

  1. Run docker-compose up -d to start the services in the detached mode.
  2. (Optional) Run docker ps -a to see all services.
  3. Go to your browser and import the ganache ethereum accounts to your MetaMask with the following seed phrase: season prevent fault almost then hungry lazy typical pipe exist recipe milk Make sure to do this before you try to access the frontend in your browser. Choose localhost:8545 as the network that MetaMask connects to. If the import does not work at the first try, switch to another network like ropsten, switch back and then import again.
  4. Run docker logs -f fin4xplorer to follow the progress of the frontend startup (It make take a few minutes to start the front end).
  5. When the frontend server has started (which you will see in the console), you can access the frontend at http://localhost:3000/.

How to use GUI

Take a look at the following video for a brief explanation on how to go through token verification and claiming: https://youtu.be/M7rbrSEilOs

Troubleshooting

  1. localhost:3000 returns Unhandled Rejection (TypeError): Cannot destructure 'object null' as it is null. This is probably due to a docker-compose down followed by docker-compose up -d

--> The account import from MetaMask did not work correctly. Please try it again.

  1. The container fin4xplorer exits docker-compose up with the following message: exec: ./wait-for-contracts.sh not found.

or

  1. The container fin4contracts exits docker-compose up with the following message: exec: ./compile-and-migrate.sh not found.

--> Git windows might have automatically converted the file endings in the script files.

Run git config --global core.autocrlf false

more details

eth-fin4's People

Contributors

johnrachwan123 avatar moritz-mbw avatar moritz-schindelmann avatar moritz-tum avatar

Watchers

 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.