guildxyz / guild-network

MIT License
9 stars 1 forks source link

Guild Network

Guild Network is (currently) an experimental Layer 1 blockchain that aims to decentralize a subset of Guild.xyz's functionality. In a nutshell, if you are unfamiliar with Guild.xyz, it provides a tool to build and manage token-gated communities. Anybody can create their own guild and fill it up with custom roles that users may obtain within the community. These roles are usually tied to certain requirements that users need to meet in order to get them.

Checking requirements is a fundamental building block that may need verification data external to Guild Network. Like most blockchains out there, Guild Network in itself is a closed system that cannot interact with the outer world by itself. Therefore, Guild Network relies on a (currently) permissioned oracle network that listens to on-chain events and fetch external data for checking requirements. For now, the oracle network can only retrieve data (token balances) from EVM blockchains.

The repository, originally forked from Parity's substrate-node-template, consists of crates that implement the described functionality above. Here's a list with a brief overview for each crate:

The chain is currently in a free-to-use demo stage that doesn't require any funds to interact with. However, you should always keep your private keys secret and maintain healthy caution when trying the demo.

NOTE Guild Network is in alpha state and we are continuously working on perfecting it. Expect bugs and even outages to the service while we strive toward a decentralized solution that nobody can just switch off.

Ongoing work

At the time of suspending active development, the state of the repo is as follows:

Most recent changes can be found on branch I137-oracle-refactor. The goal of this branch is to modify the oracle nodes such that it supports an identity service along with checking requirements. The identity service should be responsible to check whether non-crypto identities (e.g. Discord, Telegram) belong to a given user.

Users can submit identity registration requests in pallet-guild-identity. This pallet has been split from the original pallet-guild which is now solely responsible for creating/managing and joining guilds.

The main part missing is the oracle refactor itself.

Related issues:

Documentation