A platform where communities, projects, or services can broadcast their existence and users looking for new communities, projects or services can find and join them.
This project combines scaffold-eth, Unlock-protocol, and The graph, to allow users to search for memberships on the Unlock-protocol based on their interests and join them. It leverages L2 technologies such as Polygon and Optimism to allow cheap and fast transactions. To get started you need to have a deployed a lock using Unlock-protocol and that can be done on the MembersHub UI, that serves as the gateway to your membership, service or community. Then you can broadcast that membership using the MembersHub smart contract along with an array of strings(words) called Tags that represents your membership. You can only use Tags that have been added to the MembersHub. Anyone can add a new Tag so if the Tag you want is not on the list you can simply add a new Tag. Once broadcasted, it gets picked up by the Graph and is indexed. Users who on the other hand want to explore new communities can then search the MembersHub based on the existing Tags and find memberships associated with the selected Tag(s). Tags can be added or removed, but can only be done by the user who added them. Additionally you can only use a lock address once to broadcast a membership and only the lock's manager has the permission to broadcast using that lock.
This project uses Scaffold-eth to put everything together. It uses @Unlock-protocol for memberships. When a lock is deployed with Unlock-protocol, the the Lock Manager can broadcast their new membership or existing one by calling 'broadcastMembership' on the MembersHub smart contract along with some tags they feel can be associated with their community or service. This then is broadcasted to the blockchain and thats where @TheGraph comes in. It picks up all 'BroadcastMemmbership' events as well as 'NewTag' or 'RemoveTag' and allows anyone to search for any broa memberships based on these tags