Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/decentldotland/anft-gated-tribus
NFT-gated social feeds
https://github.com/decentldotland/anft-gated-tribus
Last synced: 3 days ago
JSON representation
NFT-gated social feeds
- Host: GitHub
- URL: https://github.com/decentldotland/anft-gated-tribus
- Owner: decentldotland
- License: mit
- Created: 2022-01-23T20:16:37.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2022-01-27T21:57:41.000Z (almost 3 years ago)
- Last Synced: 2024-10-12T05:24:34.282Z (about 1 month ago)
- Language: JavaScript
- Size: 90.8 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
@decentdotland/aNFT-gated-tribus
a protocol for NFT-gated communities
## Synopsis
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.## Getting Started
### Prerequisites
- Arweave wallet
The [Arweave wallet](https://arconnect.io) is required to interact with the protocol (mint NFTs, transact, interact, etc.). Reading state does not require a wallet.
### Installation
```sh
npm install -g anft-gated-tribus```
## Contracts
The protocol consists of a registry contract, and instances of Tribus smart contracts.### Registry Contract
This [contract](./protocol-contracts/registry) is used as registration and validation layer for the created tribuses. It ensures the inheritance of the created tribus from the main [source-code](./protocol-contracts/tribus/tribus.js) and seals each NFT ID per a single Tribus - hierarchical model.### Tribus Contract
All of the deployed tribuses are instances of the main [Tribus contract](./protocol-contracts/tribus). Therefore, all the separated social feeds have the same computational logic and limitations.### Contracts API
This [contract](./protocol-contracts/contracts-api) 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.## Usage
### Load The Created Tribuses IDs
```js
import { getTribuses } from "anft-gated-tribus"async function createdFeeds() {
const tribuses_ids = await getTribuses();return tribuses_ids;
}```
More examples can be found [here](./docs/examples).
## Supported NFTs Source Codes
| Network | Source Codes |
| :-----------: | :-----------: |
| [Koii](https://koi.rocks/) | 2 |## Contributing
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".
1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/xyz`)
3. Commit your Changes (`git commit -m 'feat: abc-xyz'`)
4. Push to the Branch (`git push origin feature/xyz`)
5. Open a Pull RequestContributions are **greatly appreciated** !
## License
This protocol is licensed under the [MIT license](./LICENSE).