diff --git a/README.md b/README.md deleted file mode 100644 index 9ff56aaa0..000000000 --- a/README.md +++ /dev/null @@ -1,195 +0,0 @@ -
-
-
-
-
- Kleros v2 -
- - - ---- - -## Deployments - -##### โ๏ธ [Contracts addresses](contracts/README.md#deployments) - -##### ๐๏ธ [Subgraph endpoints](subgraph/README.md#deployments) - -##### โ๏ธ [Web frontend](web/README.md#court-deployments) - -## Content - -| Package | Description | -| ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | -| **[bots](/bots)** | Automation of the on-chain upkeep of the smart contracts. Anyone willing to spend some gas may run these bots and contribute to the upkeep operations. | -| **[contracts](/contracts)** | Smart contracts of the arbitration protocol. | -| **[kleros-app](/kleros-app)** | Library of React hooks and utilities shared by the Kleros frontend apps. | -| **[kleros-sdk](/kleros-sdk)** | SDK which facilitates the creation of arbitrable applications, the interactions with the arbitrator, the rendering of the dispute and evidence information. | -| **[subgraph](/subgraph)** | The indexing layer. | -| **[web](/web)** | The court frontend intended for the jurors and parties in a dispute. | - -## Contributing - -### Prerequisites - -- Install NodeJS 16: - - on Red Hat Linux: `sudo dnf module install nodejs:16` - - on Ubuntu Linux: `sudo snap install node --classic` - - on MacOS via [brew](https://brew.sh/): `brew install node` -- Install Yarn v1.22: `npm install -g yarn` - - Then [upgrade](https://yarnpkg.com/getting-started/install#updating-to-the-latest-versions) Yarn to v3: `yarn set version berry` -- Install Volta.sh: `curl https://get.volta.sh | bash` -- Install [Docker Desktop](https://www.docker.com/products/docker-desktop/) to run the local graph node. -- Shell utilities: [jq](https://stedolan.github.io/jq/), [yq](https://mikefarah.gitbook.io/yq/) - - on Red Hat Linux: `sudo dnf install jq yq` - - on Ubuntu Linux: `sudo snap install jq yq` - - on MacOS via [brew](https://brew.sh/): `brew install jq yq` - -### Install the dependencies - -```bash -$ yarn install - -# Foundry libraries -$ git submodule update --init --recursive -j 4 -``` - -### [Hardhat CLI auto-completion](https://hardhat.org/guides/shorthand.html) (optional) - -```bash -$ 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 - -$ exec bash -``` - -### Full Stack Local Deployment - -Run the commands below from the top-level folder. Alternatively, it is possible to `cd` into the relevant package first and then call yarn without `workspace @kleros/xxxx`. - -#### Shortcut using tmux - -If you have **[tmux](https://github.com/tmux/tmux/wiki)** installed, you can get started quickly with a single command. - -```bash -$ yarn local-stack -``` - - - -#### Shell 1 - Local RPC with Contracts Deployed - -```bash -$ yarn workspace @kleros/kleros-v2-contracts start-local -... -Started HTTP and WebSocket JSON-RPC server at http://127.0.0.1:8545/ - -``` - -โณ Wait until deployment is complete. - -#### Shell 2 - Local Graph Node - -```bash -$ yarn workspace @kleros/kleros-v2-subgraph start-local-indexer -... -graph-node-graph-node-1 | INFO Successfully connected to IPFS node at: http://ipfs:5001/ -graph-node-graph-node-1 | INFO Pool successfully connected to Postgres, pool: main, shard: primary, component: Store -... -graph-node-graph-node-1 | INFO Connected to Ethereum, capabilities: archive, traces, network_version: 31337, provider: mainnet-rpc-0 -``` - -โณ Wait until the graph service is ready. - -#### Shell 3 - Subgraph Rebuild and Local Deploy - -:warning: This step modifies `subgraph.yaml` and creates a backup file. See further down on how to restore it. - -```bash -$ yarn workspace @kleros/kleros-v2-subgraph rebuild-deploy:local -... -โ Upload subgraph to IPFS - -Build completed: QmZVaZQ9qcXPia9YnFEKk7D1dEDHbfyDiJi1sqJ6E1NydB - -Deployed to http://localhost:8000/subgraphs/name/kleros/kleros-v2-core-local/graphql - -Subgraph endpoints: -Queries (HTTP): http://localhost:8000/subgraphs/name/kleros/kleros-v2-core-local -``` - -#### Shell 4 - Frontend Pointing to the Local Subgraph - -```bash -yarn workspace @kleros/kleros-v2-web generate -โ Parse Configuration -โ Generate outputs -โ Validating plugins -โ Resolving contracts -โ Running plugins -โ Writing to src/hooks/contracts/generated.ts - -$ yarn workspace @kleros/kleros-v2-web start-local -Server running at http://localhost:1234 -โจ Built in 2.35s -``` - -### Redeploying - -```bash -# Contracts -$ yarn workspace @kleros/kleros-v2-contracts deploy-local - -# Subgraph -$ yarn workspace @kleros/kleros-v2-subgraph rebuild-deploy:local - -``` - -### Simulating Arbitration Activity - -```bash -$ yarn workspace @kleros/kleros-v2-contracts simulate-local - -``` - -### Stopping - -Just press `Ctrl + c` in each terminal. - -#### Docker containers and data removal - -`yarn workspace @kleros/kleros-v2-subgraph stop-local-indexer` - -#### Restoring subgraph.yaml - -##### From a backup file - -Every versions were saved as `subgraph.yaml.bak.