Factory Guide: Create a Data Group in 5 Minutes
Non-developer tutorial
Last updated
Non-developer tutorial
Last updated
This tutorial will show you how to create a from start to finish using the .
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 and be available for a 🙌
Don't hesitate to join our and ping us during a hackathon. We would love to talk to you and meet you there. All new Data Groups under 100k accounts are automatically deployed.
are set of Data Sources with each an associated value:
Web2 Data Sources: Twitter, GitHub, Telegram
Web3 Data Sources: Ethereum addresses, ENS, Lens handles
Here's an example of what a Group looks like:
Here is an instance of a Sismo Connect App that has been implemented using the proof-of-humanity Group:
This Sismo Connect App allows you to gate contents/features of your app to Proof of Humanity registrants without revealing the registered addresses.
In this tutorial, we will create a group composed of:
Sismo Lens Followers 🌿
Sismo EthCC Booth attendees 💜
Sismo contributor Level 3 🔨
Some Sismo core team members 🎭
Next, you will have to sign in to the factory with your Ethereum address. To do this click on the login button at the top left corner and sign the message.
Once you are logged in, click on Create new Data Group (red box):
Let's build our Group now 🧑💻
First, you need to define a name for your Group: in our case, we will take the name "sismo-supporters"
After doing so, it is possible to add accounts using three different methods:
There are 3 different ways to define the data of a Group Generator, you can use:
A defined list of Data Source ("By uploading a list of accounts")
Already existing Groups ("From data group")
For our case we need 3 main things:
Define the Sismo core team members
To do this, go to the "By uploading a list of accounts" section, and put your list of Data Source.
Here are the different formats of Data Sources you can use:
Ethereum addresses (e.g. "0x123...456":"1"
)
ENS (e.g. "sismo.eth":"1"
)
Lens handles (e.g. "sismo.lens":"1"
)
GitHub accounts (e.g. "github:leosayous21":"1"
)
Twitter accounts (e.g. "twitter:leosayous21":"1"
Telegram accounts (e.g. "telegram:pelealexandru":"1"
Here we will add some of the Sismo core team members:
Here we can see that the 7 accounts have been found (blue box). Then click on the Add button (red box) in order to add these accounts to the group.
For our case, we didn't specify the value of each account, so they will all have a value of 1. But you can define the value you want for each account if desired.
For example, different values can be used for voting power:
"1" --> gives you 1 voting power
"2" --> gives you 50 voting power
"3" --> gives you 500 voting power
You need to enter the Lens profile we want to fetch the followers from (sismo.lens) as argument.
Next, by clicking on the Add button (red box), you will know if the Lens profile exists and how many followers they have.
After this, you can click on the second Add button (red box) in order to add these Lens accounts (sismo.lens followers) to the group.
To get the holders of this POAP, we will use the Poap Provider:
With the same logic as before, by clicking on the Add button, we will add the holders of the POAP to the list of Data Sources.
So you can select it and click on the Add button.
Finally, that is what you should get at the end:
We will have a total of 15750 accounts in our group (blue box), however, this number will have increased since the creation of this tutorial.
After finalizing our list of Data Source, we can select how often this group is updated. For our Sismo Supporter Group, we select ‘Weekly’ from the drop-down menu. This means that users who become a Sismo Contributor level 3 or follow Sismo on Lens after our Group is created can still become eligible after the weekly update.
Next, you will have to add 2 descriptions:
a one-line description that explains briefly what your Group is composed of
a technical description that lists the different requirements for a data source to be part of the Group
Before deploying your group, please be sure to:
Have texts written in the English language
Not have obscene content
Not impersonate others or have otherwise malicious intent
After having completed the captcha, click on the "Request to deploy":
We can see that now your Group request is in waiting for approval (red box) and a few time after in Deploying.
So a few time after your Group will be in deployment and it will be displayed as ✔ Deployed.
A Data Group can be used for a
Let's take the Group as an example and look at these use cases:
After this tutorial, you will be able to use your Group for a .
First, go to the Factory (in Data Group section):
: function that allows fetching Data Sources ("From data providers")
Get the list of Lens followers
To do this, you need to use a so we select the "From Data Providers" section.
Then we choose the Lens Provider and use the getFollowers()
function:
If you are a developer and want to build your own Data Provider, go check out this . It will explain all the steps of the creation process.
Get the holders of
Get the
To do this, you have to go to the "From data group" section and search for the group you want to use, for our case, we want to get the :
Don't hesitate to join our and ping us during a hackathon to ask for a custom Data Group update.
You will be redirected to the :
Once you submit your Group, it will be automatically accepted and deployed on all in ~20 minutes if it contains less than 100k accounts in it.
Don't hesitate to join our and ping us during a hackathon to ask for help or for a custom group update. We would love to talk to you and meet you there.
You have finally created your first Group through the , congrats! 🎉
You can now use it to create a via the Factory.
For this tutorial, you can find the generated PR .
If you have any questions or you need help regarding your Group creation process, do not hesitate to join ou and ask us in the #general-support or our . We will be glad to answer you 🤗