{"id":18484367,"url":"https://github.com/giveth/giveth-1-simulation","last_synced_at":"2025-04-08T18:33:18.867Z","repository":{"id":46371662,"uuid":"328408804","full_name":"Giveth/giveth-1-simulation","owner":"Giveth","description":"Generating giveth 1 whole state by processing network events","archived":true,"fork":false,"pushed_at":"2024-06-06T00:05:59.000Z","size":501,"stargazers_count":7,"open_issues_count":7,"forks_count":0,"subscribers_count":12,"default_branch":"develop","last_synced_at":"2025-02-22T22:23:56.309Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Giveth.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-01-10T14:58:59.000Z","updated_at":"2024-12-31T09:54:46.000Z","dependencies_parsed_at":"2024-06-06T01:26:46.739Z","dependency_job_id":"65ceed4c-e51e-494e-b8f6-ddfc7322f1c8","html_url":"https://github.com/Giveth/giveth-1-simulation","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Giveth%2Fgiveth-1-simulation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Giveth%2Fgiveth-1-simulation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Giveth%2Fgiveth-1-simulation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Giveth%2Fgiveth-1-simulation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Giveth","download_url":"https://codeload.github.com/Giveth/giveth-1-simulation/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247902852,"owners_count":21015535,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T12:39:29.342Z","updated_at":"2025-04-08T18:33:17.914Z","avatar_url":"https://github.com/Giveth.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![CI/CD](https://github.com/Giveth/giveth-1-simulation/workflows/CI/CD/badge.svg)\n\nNote: Please use `develop` branch for contributing.\n\nThis project runs to fix conflicts between the [Giveth-Feathers](https://github.com/Giveth/feathers-giveth) DB and network ( smart contracts)\n\n## Table of content\n\n- [Table of content](#table-of-content)\n- [Getting Started](#getting-started)\n    - [Install](#install)\n    - [Run Script](#run-script)\n- [What do this project](#what-do-this-project)\n\n\n## Getting Started\n\n### Install\n\n- #### Any OS\n    1. Click **Star** on this repo near the top-right corner of this web page (if you want to).\n    2. Fork this repo by clicking **Fork** button in top-right corner of this web page. Continue to follow instruction steps from your own **giveth-1-simulation** repo.\n    3. The rest of these steps must be done from your machine's command line. Clone your own **giveth-1-simulation** repo. Copy the link from the \"Clone or download\" button near the top right of this repo's home page.\n        ```\n        git clone {paste your own repo link here}\n        ```\n    4. Change directories to `giveth-1-simulation`:\n        ```\n        cd giveth-1-simulation\n        ```\n    5. Make sure you have [NodeJS](https://nodejs.org/) (v10.23.0 or higher), [yarn](https://www.yarnpkg.com/) (v0.27.5 or higher), and npm (5.4.1 or higher) installed.\n    6. Install dependencies from within feathers-giveth directory:\n        ```\n        npm install\n        ```\n       \n### Run Script\n\n1. create a folder named config, and put `develop.json` in that\nwith these data\n\n```\n{\n  \"mongodb\": \"mongodb://localhost:27017/giveth-develop\",\n  \"givethFeathersUrl\": \"https://feathers.develop.giveth.io\",\n  \"logDir\": \"data/log\",\n  \"cacheDir\": \"data/cache\",\n  \"logLevel\": \"info\",\n  \"dryRun\": false,\n  \"emailReport\": false,\n  \"emailSimulationError\": false,\n  \"givethMaintainersEmail\":[\"mranjbar.z2993@gmail.com\"],\n  \"givethDevMailList\": [\n    \"mranjbar.z2993@gmail.com\"\n  ],\n  \"dappMailerUrl\": \"Giveth dapp mailer url\",\n  \"dappMailerSecret\": \"SECRET NOT IN DEFAULT.JSON\",\n  \"blockchain\": {\n    \"requiredConfirmations\": 6,\n    \"nodeUrl\": \"wss://rinkeby.eth.aragon.network/ws\",\n    \"homeNodeUrl\": \"wss://ropsten.infura.io/ws/v3/{SECRET GET THIS FROM infura.io}\",\n    \"liquidPledgingAddress\": \"0xf0e0F5A752f69Ee6dCfEed138520f6821357dc32\",\n     \"vaultAddress\": \"0x2F3788a772D6eCCEbed68D760284e7f84Af3D492\"\n\n  },\n  \"tokenWhitelist\": [\n    {\n      \"name\": \"Ropsten ETH\",\n      \"address\": \"0x0\",\n      \"foreignAddress\": \"0x387871cf72c8CC81E3a945402b0E3A2A6C0Ed38a\",\n      \"symbol\": \"ETH\",\n      \"decimals\": 6\n    },\n    { \"name\": \"MiniMe Test Token\",\n      \"address\": \"0xE690E380740a682E2b8CEAEa33584Ea2cb59849E\",\n      \"foreignAddress\": \"0xe1DA0672bDBdBc469E82cCACCe9e4c7C79dAF6cf\",\n      \"symbol\": \"XDAI\",\n      \"decimals\": 3,\n      \"rateEqSymbol\": \"DAI\"\n    }\n  ]\n\n}\n```\n\n2. `npm run build` This transpile the project and generate an `index.js`\n3. `npm run start:develop`\n\n### What do this project\n* Getting all events from network (and cache it to in next runs\n  just get new ones)\n* Getting all states from network (and cache it to in next runs\n  just get new ones)\n* **Sync DACs**: If there is any dac in network and for any reason\nit's not in feathers-giveth, it create these DACs\n* **Sync Campaigns**:  If there is any campaign in network and for any reason\nit's not in feathers-giveth, it create these Campaigns\n* **Sync Milestones**: If there is any milestone in network and for any reason\nit's not in feathers-giveth, it create these Milestones\n* **Sync donations with network**: if there is missing donations in DB\nor for any reason the donations stuck in `Pending` status \n  it fixed it\n*  **Update donationsCounter**: If there is any conflict in `Milestone` or `Campaign` or\n`Dac` donationsCounter and it's not up to date, this script resolve that\n* **Update milestone statuses**: if the status of any milestone is not up to date and not synced with network, \nthe script will resolve that and update the milestone\n* **Unset pendingAmountRemaining from committed donations**\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgiveth%2Fgiveth-1-simulation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgiveth%2Fgiveth-1-simulation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgiveth%2Fgiveth-1-simulation/lists"}