a protocol for NFT-gated communities
This protocol allow the existence of communities on Arweave network, gated by aNFTs. Having a portion of the NFT's balance, whitelist the entry in the tribus.
- Arweave wallet
The Arweave wallet is required to interact with the protocol (mint NFTs, transact, interact, etc.). Reading state does not require a wallet.
npm install -g anft-gated-tribus
The protocol consists of a registry contract, and instances of Tribus smart contracts.
This contract is used as registration and validation layer for the created tribuses. It ensures the inheritance of the created tribus from the main source-code and seals each NFT ID per a single Tribus - hierarchical model.
All of the deployed tribuses are instances of the main Tribus contract. Therefore, all the separated social feeds have the same computational logic and limitations.
This contract is used as an onchain-permanent API, or a proxy for the deployed tribuses to read data like accpeted MIME types and setting thumbnails for tribuses.
import { getTribuses } from "anft-gated-tribus"
async function createdFeeds() {
const tribuses_ids = await getTribuses();
return tribuses_ids;
}
More examples can be found here.
Network | Source Codes |
---|---|
Koii | 2 |
If you have a suggestion that would make this protocol or the API better, please fork the repository and create a pull request. You can also simply open an issue with the tag "enhancement".
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/xyz
) - Commit your Changes (
git commit -m 'feat: abc-xyz'
) - Push to the Branch (
git push origin feature/xyz
) - Open a Pull Request
Contributions are greatly appreciated !
This protocol is licensed under the MIT license.