Create a Group
This guide will help you create a Group on Lens.
To create an Group, follow these steps.
You MUST be authenticated as Builder, Account Manager, or Account Owner to create a Group.
First, construct a Group Metadata object.
- TS/JS
- JSON Schema
Use the @lens-protocol/metadata package to construct a valid GroupMetadata object:
Example
import { group } from "@lens-protocol/metadata";
const metadata = group({ name: "XYZ", description: "My group description", icon: "lens://BsdfA…",});
Next, upload the Group Metadata object to a public URI.
import { storageClient } from "./storage-client";
const { uri } = await storageClient.uploadAsJson(metadata);
console.log(uri); // e.g., lens://4f91ca…
This example uses Lens Storage to host the Metadata object. See the Lens Metadata Standards guide for more information on hosting Metadata objects.
Next, deploy the Group smart contract.
- TypeScript
- GraphQL
- React
Use the createGroup action to deploy the Lens Group smart contract.
To learn more about how to use Group Rules, see the Group Rules guide.
- TypeScript
- GraphQL
- React
Finally, handle the result using the adapter for the library of your choice:
See the Transaction Lifecycle guide for more information on how to determine the status of the transaction.
That's it—you have successfully created a Group on Lens!