Skip to content

Commit

Permalink
GITBOOK-474: Fix dead links + refactor sample project for boilerplate…
Browse files Browse the repository at this point in the history
… + fix technical doc list
  • Loading branch information
MartinGbz authored and gitbook-bot committed Jul 8, 2023
1 parent 7b3d361 commit e41783f
Show file tree
Hide file tree
Showing 14 changed files with 31 additions and 34 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Sismo leverages zero-knowledge proofs (ZKPs) and privacy-preserving technologies

By using Sismo Connect, an easy-to-integrate SSO, applications **can now obtain personal data that was previously inaccessible, while respecting users' privacy.**

[Sismo Connect](broken-reference) aims to replace non-sovereign SSOs such as Google Connect and improve limited SSOs such as Wallet Connect. 
[Sismo Connect](./#sismo-connect-the-crypto-native-sso) aims to replace non-sovereign SSOs such as Google Connect and improve limited SSOs such as Wallet Connect. 

<figure><img src=".gitbook/assets/Introduction (1).png" alt=""><figcaption></figcaption></figure>

Expand Down
4 changes: 2 additions & 2 deletions build-with-sismo-connect/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ description: Frequently asked questions.

<summary>What to do if I am stuck with pending transactions on a fork network?</summary>

You can end up in this situation if you are following the [onchain tutorial](tutorials/tuto.md) or the [onchain sample project](run-example-apps/). If it is the case, you are unable to make any transaction work on your local chain, and you surely view this type of message on your MetaMask:
You can end up in this situation if you are following the [onchain tutorial](tutorials/tuto.md) or the [onchain boilerplate](run-example-apps/onchain-sample-project.md). If it is the case, you are unable to make any transaction work on your local chain, and you surely view this type of message on your MetaMask:

![MetaMask connected to a locally forked Mumbai Testnet](<../.gitbook/assets/Capture d’écran 2023-05-12 à 01.10.06.png>)

Expand All @@ -18,6 +18,6 @@ To get rid of this issue, you will need to go to "Settings > Advanced > Clear ac

![MetaMask settings to clear activity tab data](<../.gitbook/assets/Capture d’écran 2023-05-12 à 01.18.14 (1).png>)

You can then stop your anvil local node and the frontend of your application before relaunching the anvil node with `yarn anvil` and then your frontend with `yarn dev`. If you are still stuck with this restart, come ask your questions in our [Discord](https://discord.gg/sismo) in the **#dev-support** channel. &#x20;
You can then stop your anvil local node and the frontend of your application before relaunching the anvil node with `yarn anvil` and then your frontend with `yarn dev`. If you are still stuck with this restart, come ask your questions in our [Discord](https://discord.gg/sismo) in the **#dev-support** channel or in our [Dev Telegram](https://t.me/+Z-SwcvXZFRVhZTQ0).

</details>
2 changes: 1 addition & 1 deletion build-with-sismo-connect/technical-documentation/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: The packages for Sismo Connect.

# Technical Documentation

[Sismo Connect](broken-reference) is a crypto-native single sign-on method (SSO) for applications—whether on web2 or web3. Integration is simple with just a few lines of code: import the front-end package or React button for data requests, and verify proofs using Sismo Connect Solidity library in your smart contract OR server package in your backend. Once integrated, applications can **request** private and granular data, while users can **authenticate** and **selectively disclose** their personal data with the power of zero-knowledge proofs (ZKPs).
[Sismo Connect](../../#sismo-connect-the-crypto-native-sso) is a crypto-native single sign-on method (SSO) for applications—whether on web2 or web3. Integration is simple with just a few lines of code: import the front-end package or React button for data requests, and verify proofs using Sismo Connect Solidity library in your smart contract OR server package in your backend. Once integrated, applications can **request** private and granular data, while users can **authenticate** and **selectively disclose** their personal data with the power of zero-knowledge proofs (ZKPs).

{% hint style="warning" %}
In order to use Sismo Connect, you will need to have an `appId` registered in the [Sismo Factory](https://factory.sismo.io/). [Here is a tutorial](../tutorials/create-a-sismo-connect-app.md).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: Request proofs from your user

# Sismo Connect Client: Request

The [Sismo Connect](broken-reference) Client is a frontend package built on top of the [Data Vault](../../../#data-vault-aggregate-your-identity) app (the prover) to easily request proofs from your users with [AuthRequests](client.md#authrequest), [ClaimRequests](client.md#claimrequest) and [SignatureRequests](client.md#signaturerequest).
The [Sismo Connect](broken-reference) Client is a frontend package built on top of the [Data Vault](../../../#data-vault-aggregate-your-identity) app (the prover) to easily request proofs from your users with [AuthRequests](../auths.md), [ClaimRequests](../claims.md) and [SignatureRequests](../signature.md).

## Installation

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: Request proofs from your user on your React project

# Sismo Connect React: Request

The [Sismo Connect](broken-reference) React package is a wrapper of the Sismo Connect client package which is a package built on top of the [Sismo Data Vault](broken-reference) app (the prover) to easily request proofs from your users. It is strongly advised to read about the [**Sismo Connect client package**](client.md) to understand the React package.
The [Sismo Connect](../../../#sismo-connect-the-crypto-native-sso) React package is a wrapper of the Sismo Connect client package which is a package built on top of the [Sismo Data Vault](../../../how-sismo-works/core-components/what-is-the-data-vault.md) app (the prover) to easily request proofs from your users. It is strongly advised to read about the [**Sismo Connect client package**](client.md) to understand the React package.

### Installation

Expand All @@ -25,7 +25,7 @@ Make sure to have at least v18.15.0 as Node version. You can encounter issues wi

### Configuration

The first step for integrating Sismo Connect in your front end is to create a `SismoConnectClientConfig` like in the client package. This config will require an `appId` and can be customized with [optional fields.](react.md#sismoconnectclientconfig) You can go to the [Sismo Factory](../../tutorials/create-a-sismo-connect-app.md) to create a Sismo Connect App and get an `appId` ([here is a tutorial](../../tutorials/create-a-sismo-connect-app.md)).
The first step for integrating Sismo Connect in your front end is to create a `SismoConnectClientConfig` like in the client package. This config will require an `appId` and can be customized with optional fields. You can go to the [Sismo Factory](../../tutorials/create-a-sismo-connect-app.md) to create a Sismo Connect App and get an `appId` ([here is a tutorial](../../tutorials/create-a-sismo-connect-app.md)).

```typescript
import { SismoConnect, SismoConnectConfig } from "@sismo-core/sismo-connect-react";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ If your proof is valid, the contract will continue its execution, otherwise it w

## `verify()`

The `verify()` function allows you to verify a proof generated by the [Sismo Vault app](broken-reference) with respect to some requests.
The `verify()` function allows you to verify a proof generated by the [Sismo Vault app](../../../how-sismo-works/core-components/what-is-the-data-vault.md) with respect to some requests.

```solidity
function verify(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Get your appId - Create a Sismo Connect App

Before you begin integrating [**Sismo Connect**](broken-reference), you must register first a Sismo Connect app in the [**Sismo Factory**](https://factory.sismo.io/apps-explorer). This step is mandatory to obtain an application Id (`appId`), which is required during the Sismo Connect development process.
Before you begin integrating [**Sismo Connect**](../../#sismo-connect-the-crypto-native-sso), you must register first a Sismo Connect app in the [**Sismo Factory**](https://factory.sismo.io/apps-explorer). This step is mandatory to obtain an application Id (`appId`), which is required during the Sismo Connect development process.

<details>

Expand All @@ -22,7 +22,7 @@ You can learn more about this notion in this [article](../technical-documentatio

You can register a Sismo Connect app here: [https://factory.sismo.io/apps-explorer](https://factory.sismo.io/apps-explorer).\
\
To create a Sismo Connect app, you need to log in with Sign-In With Ethereum and click on “create a new Sismo Connect app”. You will need to register an App Name, enter a description, and upload a logo alongside registering authorized domains. Pay attention to authorized domains, as these are the urls where the `appId` that will be created can be used for [Sismo Connect](broken-reference).
To create a Sismo Connect app, you need to log in with Sign-In With Ethereum and click on “create a new Sismo Connect app”. You will need to register an App Name, enter a description, and upload a logo alongside registering authorized domains. Pay attention to authorized domains, as these are the urls where the `appId` that will be created can be used for [Sismo Connect](../../#sismo-connect-the-crypto-native-sso).

{% hint style="info" %}
Feel free to add `*.com` to authorized domains when developing in local. This will allow you to easily whitelist `localhost`. Don't forget to update the authorized domains when deploying in production though.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ Once this steps are done, you are well setup to use [Forge](https://book.getfoun

Before deploying any Sismo Connect contract, it is better to understand the Sismo Connect config and especially how to impersonate accounts.&#x20;

As you may already know, Sismo Connect is the communication layer allowing any Sismo Connect app to requests some proofs about user data and receive the expected proofs before verifying them. To be able to produce such proofs, users are required to import accounts (i.e. [Data Sources](../../how-sismo-works/core-components/#what-are-data-sources)) into their [Data Vaults](../../how-sismo-works/core-components/what-is-the-data-vault.md). By doing so, they will be able to prove group membership and account ownership to apps.&#x20;
As you may already know, Sismo Connect is the communication layer allowing any Sismo Connect app to requests some proofs about user data and receive the expected proofs before verifying them. To be able to produce such proofs, users are required to import accounts (i.e. [Data Sources](../../data-groups/data-groups-and-how-to-create-them/#data-sources)) into their [Data Vaults](../../how-sismo-works/core-components/what-is-the-data-vault.md). By doing so, they will be able to prove group membership and account ownership to apps.&#x20;

Such proof generation is possible (among other things) thanks to the [**Commitment Mapper**](../../how-sismo-works/technical-concepts/commitment-mapper.md)**.** Therefore, we allow **any developer to impersonate accounts** by automatically creating a fake Commitment Mapper in the Vault App front end if the **Vault object with impersonate field is defined in the Sismo Connect configuration**.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ description: Non-developer tutorial

# Factory Guide: Create a Data Group in 5 Minutes

This tutorial will show you how to create a [Data Group](broken-reference) from start to finish using the [Sismo Factory](https://factory.sismo.io/groups-explorer).
This tutorial will show you how to create a [Data Group](./) from start to finish using the [Sismo Factory](https://factory.sismo.io/groups-explorer).

At the end of this tutorial, you will have a Group of Twitter, GitHub, Telegram and Ethereum accounts. After a short verification process (usually under 1 hour), this Data Group will be deployed on our chain(s) of choice and be available for a [Sismo Connect app](broken-reference) 🙌
At the end of this tutorial, you will have a Group of Twitter, GitHub, Telegram and Ethereum accounts. After a short automatic verification process (under 15 minutes), this Data Group will be deployed on our [chain(s) of choice](../../how-sismo-works/resources/sismo-101.md) and be available for a [Sismo Connect app](../../#sismo-connect-the-crypto-native-sso) 🙌

{% hint style="info" %}
If you are a developer and want to build your own customizable Data Group, go check out this [tutorial](create-your-group-generator.md). It will also explain all the steps of the creation process.
Expand All @@ -18,7 +18,7 @@ Don't hesitate to join our [**Dev** **Telegram**](https://t.me/+Z-SwcvXZFRVhZTQ0

## What are Data Groups?

[Data Groups](broken-reference) are set of Data Sources with each an associated value:
[Data Groups](./) are set of Data Sources with each an associated value:

* Web2 Data Sources: Twitter, GitHub, Telegram
* Web3 Data Sources: Ethereum addresses, ENS, Lens handles
Expand All @@ -45,7 +45,7 @@ Here's an example of what a Group looks like:

## Data Group Use-Cases

A Data Group can be used for a [Sismo Connect app](broken-reference)
A Data Group can be used for a [Sismo Connect app](../../#sismo-connect-the-crypto-native-sso)

Let's take the [proof-of-humanity](https://github.com/sismo-core/sismo-hub/tree/main/group-generators/generators/proof-of-humanity) Group as an example and look at these use cases:

Expand All @@ -57,7 +57,7 @@ Here is an instance of a Sismo Connect App that has been implemented using the p

This Sismo Connect App allows you to gate contents/features of your app to Proof of Humanity registrants without revealing the registered addresses.

After this tutorial, you will be able to use your Group for a [Sismo Connect app](broken-reference).
After this tutorial, you will be able to use your Group for a [Sismo Connect app](../../#sismo-connect-the-crypto-native-sso).

## Tutorial use case

Expand Down Expand Up @@ -228,12 +228,12 @@ So a few time after your Group will be in deployment and it will be displayed as

You have finally created your first Group through the [Factory](https://factory.sismo.io/), congrats! 🎉

You can now use it to create a [Sismo Connect app](broken-reference) via the Factory.
You can now use it to create a [Sismo Connect app](../../#sismo-connect-the-crypto-native-sso) via the Factory.

{% hint style="info" %}
You can also click on the 🔽 icon in order to display more information on your group, including the GitHub Pull Request associated with your Group creation.

For this tutorial, you can find the generated PR [here](https://github.com/sismo-core/sismo-hub/pull/1512).
{% endhint %}

If you have any questions or you need help regarding your Group creation process, do not hesitate to join [Sismo Discord](https://discord.gg/sismo) and ask us in the **#general-support**. We will be glad to answer you 🤗
If you have any questions or you need help regarding your Group creation process, do not hesitate to join ou [Discord](https://discord.gg/sismo) and ask us in the **#general-support** or our [Dev Telegram](https://t.me/+Z-SwcvXZFRVhZTQ0). We will be glad to answer you 🤗
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ You can find the pull request associated with this tutorial [**here**](https://g

Data Providers enable other group creators to reuse specific data fetching logic, such as calls to APIs.

[Groups](../../knowledge-base/resources/sismo-hub/sismo-hub/broken-reference/) are composed of Data Source:
[Groups](broken-reference) are composed of Data Source:

* Web2 accounts: Twitter, GitHub, Telegram
* Web3 accounts: Ethereum addresses, ENS, Lens handle
Expand All @@ -40,7 +40,7 @@ When creating a group, you need to create a [Group Generator](../../how-sismo-wo
Moreover, Data Providers are useful because they enable automatic and frequent group updates, whereas if the group was made of a hardcoded list of accounts it wouldn't be automatic.

{% hint style="success" %}
If you want to create a [group](../../knowledge-base/resources/sismo-hub/sismo-hub/broken-reference/) that contains all the voters of your last DAO proposal on Snapshot, simply use the `queryProposalVoters` function from the [Snapshot Data Provider](https://github.com/sismo-core/sismo-hub/tree/main/group-generators/helpers/data-providers/snapshot) in your [Group Generator](../../how-sismo-works/resources/sismo-hub/sismo-protocol-overview.md) by giving the Proposal Identifier as an argument.
If you want to create a [group](./) that contains all the voters of your last DAO proposal on Snapshot, simply use the `queryProposalVoters` function from the [Snapshot Data Provider](https://github.com/sismo-core/sismo-hub/tree/main/group-generators/helpers/data-providers/snapshot) in your [Group Generator](../../how-sismo-works/resources/sismo-hub/sismo-protocol-overview.md) by giving the Proposal Identifier as an argument.

For example:

Expand Down Expand Up @@ -625,4 +625,4 @@ Finally, your Data Provider will be available in the Sismo Hub and anyone will b

You want to contribute, but you don't have any ideas for Data Providers to create? Check out the current [Sismo Hub GitHub's issues](https://github.com/sismo-core/sismo-hub/issues), as you will find some interesting ideas for Data Providers to implement.

If you have any questions or you need help regarding your Data Providers creation process, do not hesitate to join [Sismo Discord](https://discord.gg/sismo) and ask us in **#dev-support**. We will be glad to answer you 🤗
If you have any questions or you need help regarding your Data Providers creation process, do not hesitate to join our [Discord](https://discord.gg/sismo) and ask us in **#dev-support** or ou [Dev Telegram](https://t.me/+Z-SwcvXZFRVhZTQ0). We will be glad to answer you 🤗
Loading

0 comments on commit e41783f

Please sign in to comment.