/kleros-v2

Kleros version 2 - doing open source contributions and be part of dev team!

Primary LanguageTypeScriptMIT LicenseMIT

Kleros

Kleros v2

Netlify Build Status GitPoap badge
OpenSSF Scorecard Security Rating Quality Gate Status Bugs Reliability Rating Maintainability Rating
Unit testing Conventional Commits Commitizen Friendly Styled with Prettier


Toolchain:

  • Solidity 0.8
  • Hardhat
  • Ethers
  • Waffle
  • Typescript
  • Node 16
  • Yarn 3 without PlugnPlay

Contributing

Pre-Requisites

  • Install NodeJS 16:
    • on Red Hat Linux: dnf module install nodejs:16
    • on Ubuntu Linux: sudo snap install node --classic
    • on MacOS via brew: brew install node
    • on Windows via Chocolatey: choco install nvs
  • Install Yarn v1.22: npm install -g yarn
  • Upgrade Yarn to v3: yarn set version berry

Optional Steps

$ npm i -g hardhat-shorthand

$ hardhat-completion install
✔ Which Shell do you use ? · bash
✔ We will install completion to ~/.bashrc, is it ok ? (y/N) · true

$ . ~/.bashrc

Getting Started

Install the dependencies

$ npm install -g depcheck

# sets up yarn version
$ yarn prepare

$ yarn install

Repo Structure

Each directory at the root of this repository contains code for each individual part that enables this integration:

  • bots/: service to automate some steps of the flow which otherwise would required manual intervention from users.
    • Notice: while this is a centralized service, it exists only for convenience. Anyone can fulfill the role of the bots if they wish to do so.
  • contracts/: Smart contracts running the arbitration system Learn more.
  • dynamic-script/: allows fetching the dynamic content for the arbitration, as described by ERC-1497: Evidence Standard.
  • evidence-display/: display interface that should be used to render the evidence for arbitrators, as described by ERC-1497: Evidence Standard.

Deployment

See contracts/README.md.