{"id":18492954,"url":"https://github.com/graphprotocol/everest","last_synced_at":"2025-07-11T13:05:56.706Z","repository":{"id":42634712,"uuid":"226154744","full_name":"graphprotocol/everest","owner":"graphprotocol","description":"Registry of crypto projects","archived":false,"fork":false,"pushed_at":"2023-11-16T15:15:59.000Z","size":23005,"stargazers_count":99,"open_issues_count":50,"forks_count":39,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-04-09T16:48:34.638Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/graphprotocol.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":"2019-12-05T17:28:44.000Z","updated_at":"2025-01-23T17:09:53.000Z","dependencies_parsed_at":"2024-11-06T13:12:11.886Z","dependency_job_id":"0546fba2-8f58-44dc-b82d-6f2804f265ef","html_url":"https://github.com/graphprotocol/everest","commit_stats":null,"previous_names":[],"tags_count":47,"template":false,"template_full_name":null,"purl":"pkg:github/graphprotocol/everest","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graphprotocol%2Feverest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graphprotocol%2Feverest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graphprotocol%2Feverest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graphprotocol%2Feverest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/graphprotocol","download_url":"https://codeload.github.com/graphprotocol/everest/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graphprotocol%2Feverest/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264815669,"owners_count":23667987,"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-06T13:12:01.090Z","updated_at":"2025-07-11T13:05:56.688Z","avatar_url":"https://github.com/graphprotocol.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Everest\n\n[Everest](https://everest.link/) is a universally shared registry of crypto projects, built on\n[Ethereum](https://ethereum.org), [IPFS](https://ipfs.io), [The Graph](https://thegraph.com) and [3Box](https://3box.io). The\nEverest registry is a community-curated registry composed of projects and categories that make up\nthe Web3 ecosystem. \n\nEverest’s mission is to catalyze the shift to Web3 by organizing all the projects that are working\ntoward this common goal. Decentralization will create transparency and opportunity, enabling\nanyone in the world to contribute their talents to a global economy.\n\nThe Everest Registry will include any organization that believes in the goals of decentralization\nand the spirit of discovering and building radically new ways for humans to cooperate and organize.\nThe registry uses the ERC-1056 identity standard for interoperability to allow project identities\nto be used across applications.\n\nTo contribute to the Everest registry, users can **add projects**, **challenge existing projects**\nand **vote on challenges** to curate the registry. **Project owners** can also edit project details\nat any time and **delegate voting** to other users.\n\nRead the [Everest Charter](https://everest.link/charter) to learn more about project listing guidelines,\nregistry curation, project challenges and community maintenance.\n\nEverest is built on [The Graph](https://thegraph.com), an indexing and querying layer for efficient\nretrieval of blockchain data. The Everest subgraph captures project details using the ERC-1056\nidentity standard and can be queried by other dApps to integrate project data. The goal of Everest\nis to be a starting point for creating useful data on-chain, that can be referenced by other dApps\nvia shared APIs. \n\n# Interacting with Everest and the path for full decentralization\nCurrently Everest is controlled by the team at The Graph. When someone applies to add a project,\nor when they challenge, they must deposit real DAI. The first time you interact with Everest, it\nwill ask you to sign a message - which calls `permit()` on the DAI contract. This allows Everest\nto transfer your DAI by having an unlimited allowance.\n\nIt should also be noted, the owner of the contracts is an address that The Graph is in control of.\nThis was done for the V1, and it is a point of centralization. At any time the funds within Everest\ncan be withdrawn by the team.\n\nThe team intends to launch a fully decentralized version in the future, where the funds can be \nspent to further the development of Everest. For now the team is leaving the funds in Everest, \nand will not take it out.\n\n# Repo Structure\n\nThis monorepo contains:\n\n- [`./contracts`](./contracts) - Everest Contracts\n- [`./subgraph`](./subgraph) - Everest Subgraph\n- [`./subgraph/mutations`](./subgraph/mutations) - Everest Mutations\n- [`./ui`](./ui) - Everest dApp\n\n# Setup\n\nPrerequisites:\n\n- `nvm`\n- `yarn`\n\nRun these commands from the root directory:\n\n- Install Dependencies\n  - `nvm install $(cat .nvmrc)`\n  - `nvm use $(cat .nvmrc)`\n  - `yarn`\n\n# Quick start\n\n#### Run Everest UI locally with contracts already deployed to Ropsten\n\n1. Create an `.env.development` file inside of the `ui` folder with the following content:\n\n```\nGATSBY_IPFS_HTTP_URI=https://ipfs.everest.link/\nGATSBY_NETWORK_CONNECTOR_URI=https://ropsten.infura.io/v3/[INFURA_ID]\nGATSBY_INFURA_ID=[INFURA_ID]\nGATSBY_NETWORK_URI=https://api.thegraph.com\nGATSBY_GRAPHQL_HTTP_URI=https://api.thegraph.com/subgraphs/name/graphprotocol/everest-ropsten\nGATSBY_CHAIN_ID=3\n```\n\n2. In the root of the project run:\n\n```\nyarn start:dev-ropsten\n```\n\nThis will build mutations, and bring up the UI on port `4000`.\n\n\n3. In your browser, go to `http://localhost:4000`\n\n\n#### Run Everest locally with contracts already deployed to Ethereum Mainnet\n\n1. Create an `.env.development` file inside of the `ui` folder with the following content:\n\n```\nGATSBY_IPFS_HTTP_URI=https://ipfs.everest.link/\nGATSBY_NETWORK_CONNECTOR_URI=https://mainnet.infura.io/v3/[INFURA_ID]\nGATSBY_INFURA_ID=[INFURA_ID]\nGATSBY_NETWORK_URI=https://api.thegraph.com\nGATSBY_GRAPHQL_HTTP_URI=https://api.thegraph.com/subgraphs/name/graphprotocol/everest\nGATSBY_CHAIN_ID=1\n```\n\n2. In the root of the project run:\n\n```\nyarn start:dev-mainnet\n```\n\nThis will build mutations, and bring up the UI on port `4000`.\n\n\n3. In your browser, go to `http://localhost:4000`\n\n\n#### Run Everest in production mode\n\nIf you want to build Everest and run it in production mode (with contracts on Ropsten or Mainnet), \nrename the above `.env.development` file to `.env.production` (or duplicate it). \nFrom the root of the project, run:\n\n```\nyarn build:mutations\nyarn build:ui\n```\n\nAfter those builds finish, you can run\n\n```\nyarn serve\n```\n\nand access the UI in the browser at `http://localhost:9000`\n\n# Deploying contracts\nSee the instructions in the README in the `./contracts` folder. \n\n# Deploying subgraphs\nDeploying the subgraphs can be done from the root folder. You can also run the local UI, or use\nproduction UI to see the new subgraph in action. To deploy a new subgraph, with local UI, run:\n\n```bash\nyarn deploy-subgraph-ropsten\nyarn start:dev-ropsten\n```\nTo deploy a new subgraph to mainnet, with local UI, run:\n\n```bash\nyarn deploy-subgraph-mainnet\nyarn start:dev-mainnet\n```\n\n**Note - You must run these in the root folder**\n\nCurrently it is configured to only work with the subgraph named `graphprotocol/everest`. \nIf you are not a member of graphprotocol on github, you will not be able to deploy the subgraph. \nMake sure to change the code to deploy to a subgraph under your own github name.\n\n`yarn deploy-subgraph-ropsten` and `yarn deploy-subgraph-mainnet` do the following:\n- Building the `./contracts` sub repository\n- Building the `./subgraph` sub repository\n- Building the `./subgraph/mutations` sub repository\n- Once all builds are successful, it will deploy the subgraph to the respective network on the \n  hosted service for the graph (when the code is merged into master)\n\n# Running the UI locally\nNormally the development of the subgraph and the front-end can be done on their own.\nYou can run the UI independently, and decide whether it should use the Ropsten subgraph or \ncontracts, or Mainnet. For local development, we want to use Ropsten.\n\nTo run the UI, use either `start:dev-ropsten` or `start:dev-mainnet`. These do the following:\n- Starts the UI at `localhost:4000` after a subgraph is already deployed to the hosted service. \n  (They each take a different different `.env` file for each network.\n\nTo deploy to an actual website, there is a setup with Docker and google cloud. This process depends\non the following two commands:\n\n```bash\nyarn build:mutations\nyarn build:ui\n```\n\n# Notes on using Lerna for this monorepo\nIt is recommended for development to build all the sub repositories from the top level root folder \nwith node scripts. [Lerna](https://www.npmjs.com/package/lerna) allows for this, and is a smooth \nprocess. Only run node scripts in the contracts repository to deploy contracts.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgraphprotocol%2Feverest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgraphprotocol%2Feverest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgraphprotocol%2Feverest/lists"}