-
Notifications
You must be signed in to change notification settings - Fork 36
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #215 from Giveth:devouch-docs
FIRST DRAFT devouch docs
- Loading branch information
Showing
7 changed files
with
167 additions
and
23 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
--- | ||
id: devouch-api | ||
title: Integrating DeVouch | ||
slug: /integrating-devouch | ||
--- | ||
import useBaseUrl from '@docusaurus/useBaseUrl' | ||
|
||
|
||
DeVouch prioritizes accessiblity of information and easy integration. Reading and writing data to DeVouch is accessible to all! We have three topics to cover in this article: | ||
|
||
- How to issue DeVouch attestations | ||
- Adding your Attester Group to DeVouch | ||
- Overview of the DeVouch Graphql API & Cookbook | ||
|
||
## How to issue DeVouch attestations | ||
|
||
There is a standardized attestation schema that all DeVouch eligible attestations MUST USE. You can find them here: | ||
|
||
- [Sepolia (for testing)](https://sepolia.easscan.org/schema/view/0x97b0c9911936fad57e77857fac6eef6771f8d0bf025be9549214e32bf9e2415a) | ||
- [Optimism Mainnet](https://optimism.easscan.org/schema/view/0x97b0c9911936fad57e77857fac6eef6771f8d0bf025be9549214e32bf9e2415a) | ||
|
||
We recommend using the [EAS SDK](https://github.com/ethereum-attestation-service/eas-sdk) to integrate making attestations from your application, but for demonstration purposes we will show you how it looks on the easscan UI. | ||
|
||
<img alt="easscan view of devouch attestation" src={useBaseUrl('img/devouch/devouchAttestationExample.png')} /> | ||
|
||
### Make the Attestation Onchain | ||
You need to set the attestation as onchain in order for it to be indexed by DeVouch. | ||
### No recipient address | ||
You don't need to set a recipient address for DeVouch attestations. | ||
### Project Source | ||
This is the name of the source platform that the project is from, currently there are these four: `gitcoin`, `giveth`, `rf4` (Retro Funding round 4). More source platforms may be added later. | ||
### Project Id | ||
This is different for each source platform. | ||
|
||
#### Giveth | ||
For Giveth projects you can find the id of a project by going to the [Giveth graphQL API](https://mainnet.serve.giveth.io/graphql) and running a query like this: | ||
|
||
```graphql | ||
query { | ||
projectBySlug(slug: "project/slug/goes/here") { | ||
id | ||
title | ||
} | ||
} | ||
``` | ||
|
||
This will give you a number like `12345` that you should use for the project Id when attesting to a Giveth project. | ||
|
||
#### Gitcoin | ||
|
||
For Gitcoin grants projects you can find the id of a project by going to the [Gitcoin graphQL API](https://grants-stack-indexer-v2.gitcoin.co/graphiql) and running a query like this: | ||
|
||
```graphql | ||
query { | ||
projects( | ||
filter: {tags: {contains: "allo-v2"}, projectType: {equalTo: CANONICAL}, not: {tags: {contains: "program"}}, rounds: {every: {applicationsExist: true}}} | ||
condition: {name: "{name of project}"} | ||
) { | ||
id | ||
name | ||
} | ||
} | ||
|
||
``` | ||
|
||
This will give you a hash like `0x7f4b4b6cecc3bdaf95098ea2b2f5cd9c31ea742880d5076b540f83caf8247e16` that you should use for the project Id when attesting to a Gitcoin project. | ||
|
||
#### Retro Funding | ||
|
||
For Retro Funding projects you can find the id of a project by going to the [Optimism Retro Funding graphQL API](https://vote.optimism.io/graphql) and running a query like this: | ||
|
||
```graphql | ||
NEED TO ADD | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
--- | ||
id: whatisdevouch | ||
title: What is DeVouch? | ||
slug: / | ||
--- | ||
import useBaseUrl from '@docusaurus/useBaseUrl' | ||
|
||
|
||
DeVouch is a system for members of reputable organizations in the Ethereum ecosystem to vouch for projects that are looking to raise funding. By vouching for a project, the organization can lend its credibility to the project, building confidence for those looking to support with funding. | ||
|
||
DeVouch collects projects [Gitcoin](https://gitcoin.co/), [Giveth](https://giveth.io/) and [Optimism Retro Funding](https://vote.optimism.io/) and shows them in a singe place allowing users to either vouch or flag for each project. More platforms may be added in the future. | ||
|
||
Visitors to the website can see the vouches and flags received by each project, tracked by the "Attester Group" that the vouch or flag came from. Learn more about "Attester Groups" below. | ||
|
||
We believe that by providing a way for members of reputable organizations to vouch for projects, we can leverage the social fabric of the Ethereum community to make more informed decisions on the allocation of capital. | ||
|
||
## Attester Groups | ||
|
||
DeVouch functions using a system of Attestations from [EAS](https://attest.org/). At the top level DeVouch identifies "Attester Groups" by looking at on-chain attestation data, Attester Groups are best defined as a group of addresses that hold the same type of attestations (defined by it's schema ID) that were all issued by the same address (the "Issuing Authority"). | ||
|
||
Check out this attestation for example: | ||
|
||
https://optimism.easscan.org/attestation/view/0x3ef6cc3d97a1386c1eb6a9ed7903c7247883f348eb8784db17678b1392c0c136 | ||
|
||
<img alt='attestestation example' src={useBaseUrl('img/devouch/attesterOrganizationExamples.png')} /> | ||
|
||
In this case, you see the schema is called "RETROPGF BADGEHOLDER" with an ID of `0xfdcfdad2dbe7489e0ce56b260348b7f14e8365a8a325aef9834818c00d46b31b` and the Issuing Authority is `0x621477dBA416E12df7FF0d48E14c4D20DC85D7D9` (presumably someone from the Optimism team). DeVouch would consider all addresses that hold attestations with this schema ID, issued by the same Issuing Authority address to be part of the same Attester Group. The Attester Groups that the DeVouch indexer recognizes were defined at launch by the DeVouch team, and more can be added by following the instructions in the [DeVouch repository](https://github.com/Giveth/DeVouch-BE). | ||
|
||
Anyone can make an attestation to either vouch or flag a project at any time, but DeVouch only considers attestations from recognized Attester Groups when indexing information. | ||
|
||
## Navigating DeVouch | ||
|
||
There are four main pages on DeVouch: | ||
- The "All Projects" view, which shows project card summaries of all projects that have been indexed by DeVouch. | ||
- The "Project Details" view, which shows detailed information about a single project, including the vouches and flags it has received. | ||
- The "My Attestations" view, which shows all the eligible DeVouch attestations you have made, and allows you to edit or delete them. | ||
- The "User Attestations" view, which shows all the eligible DeVouch attestations made by a specific address. | ||
|
||
On any page there are a myriad of options for filtering, sorting, and searching for exactly the information you're looking for! Make use of them to optimize you're experience and see the data that's relevant for you. | ||
|
||
## Vouching and Flagging projects | ||
|
||
When you vouch for a project, you are saying that you know this project and that you trust it. When you belong to a "Atterster Group" in a way you are lending the credibility of the Attester Group to the project you vouched for. | ||
|
||
Similarily, when you flag a project, you are saying that you don't trust this project or you don't believe it is legitimate. | ||
|
||
Be aware that your address will be associated with the vouch or flag you make, and that this information is public and can be seen by anyone. You can additionally add a comment to your vouch or flag to provide more context. | ||
|
||
It is possible that an address could belong to multiple Attester Groups, when you create an attestation, you can choose which Attester Group you want to vouch or flag from. Each attestation made with a unique Attester Group used by the same address counts as a separate vouch or flag. You can only use one Attester Group per attestation on DeVouch. | ||
|
||
## Editing Attestations | ||
|
||
You can edit your attestation, whether it was a vouch or a flag. This will allow you to change your vouch to a flag or vice versa and also write a new comment into your attestation. This will create a new on-chain attestation that will replace the old one. If you attest to the project as part of other Attester Groups, those attestations will remain unchanged. | ||
|
||
You can edit your attestations from either the project details page of the project you attested to or from the 'My Attestations' page. | ||
|
||
## Deleting Attestations | ||
|
||
You can delete your attestation, whether it was a vouch or a flag. This creates an on-chain revocation of your attestation. This will remove your vouch or flag from the project. If you attested to the project as part of other Attester Groups, those attestations will remain. | ||
|
||
You can delete your attestations from either the project details page of the project you attested to or from the 'My Attestations' page. | ||
|
||
# Integrating DeVouch | ||
|
||
If you'd like to integrate DeVouch data into your platform or analytics we have several graphQL APIs available. | ||
|
||
- Sepolia (for testing) - https://backend.devouch.xyz/graphql | ||
- Optimism Mainnet - https://optimism.backend.devouch.xyz/graphql | ||
|
||
To learn more about the APIs and how to issue DeVouch attestations continue on to [this article](./api.md). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
module.exports= { | ||
whatisdevouch: [ | ||
'whatisdevouch', 'devouch-api' | ||
] | ||
} |
This file was deleted.
Oops, something went wrong.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.