diff --git a/README.md b/README.md index 9c6d1563..6e42e089 100644 --- a/README.md +++ b/README.md @@ -1,72 +1,189 @@ -# Clowder + +
+ + +
+ Stability Nexus +     + +     + +
+ +  + + +
+ +[![Static Badge](https://img.shields.io/badge/Stability_Nexus-/Clowder-228B22?style=for-the-badge&labelColor=FFC517)](https://clowder.stability.nexus) + +
+ + +

+ + +   + + +   + + +   + + +   + + +   + + +

+ +  + +

+ + Clowder is a minimalistic platform for creating and managing CATs (Contribution Accounting Tokens) — fungible tokens used to track value contributions inside decentralized organizations. + +

-> Fun fact: "Clowder" is the collective noun for cats. +--- + +# 🐾 Clowder -Clowder is a minimalistic platform allowing anyone to create [CATs (Contribution Accounting Tokens)](https://docs.stability.nexus/about-us/the-stable-order/cats). +> Fun fact: **A group of cats is called a "clowder".** +Just like that, Clowder groups and tracks contributions from multiple members inside decentralized projects. -CATs are fungible tokens (e.g. ERC20 tokens) that are used to track the value of contributions to a project by members of a decentralized organization. CATs have the following characteristics: +Clowder enables anyone to deploy a **CAT (Contribution Accounting Token)** with customizable minting rules and governance parameters. +These tokens serve as transparent accounting tools for DAOs and community-driven projects. -1. The initial supply of tokens is zero. -2. The user who deploys the token contract is its initial owner. -3. The contract may have multiple owners and owners may grant ownership to others. -4. All owners have permission to mint tokens. -5. There is an optional maximum supply of tokens, above which minting is forbidden. -6. There is a threshold supply of tokens, below which minting is unrestricted. -7. There is a maximum supply expansion rate that is enforced when the supply exceeds the threshold. -8. Owners have permission to permanently reduce the maximum supply of tokens and the threshold supply of tokens. -9. Owners have permission to permanently reduce the maximum supply expansion rate. -10. Transfers of tokens may be restricted to accounts that already have tokens, in order to keep the tokens circulating only among members of a project. -11. Owners may permanently disable the transfer restriction. +Learn more about CATs: +👉 https://docs.stability.nexus/about-us/the-stable-order/cats -The platform's frontend has the following pages: +--- -- **Landing Page**: This page has a "Create CAT" button (which redirects to the *CAT Creation Page*), a text field for the user to input a CAT contract address, and a "Use CAT" button (which redirects to the *CAT Page* for the CAT contract input in the text field). -- **CAT Page**: This page reads from the URL the address of the token contract and allows users to interact with the respective token contract. It shows parameters and variables of the token contract such as current supply, maximum supply, threshold supply, maximum expansion rate, and transfer restriction. For owners who have connected their wallets, it also shows fields and buttons to mint tokens and to modify the parameters of the token contract. -- **Create CAT Page**: This page shows a form where the user can input the constructor parameters for the desired CAT and a "Deploy CAT" button that calls the factory contract to deploy the CAT with the desired parameters. -- **My CATs Page**: This page lists all token contracts owned by the user who connected their wallet. +# 🧬 CAT Token Characteristics -The platform's frontend is built with Next.js, TailwindCSS, and ShadCN UI. +Each CAT contract created through Clowder has the following properties: -The platform has no backend. The list of token contracts owned by each address is stored in the factory contract. +1. Initial supply starts at **zero**. +2. The deployer becomes the **initial owner**. +3. CATs can have **multiple owners**. +4. **All owners can mint** tokens. +5. **Optional maximum supply** to prevent inflation. +6. **Threshold supply** defines unrestricted minting. +7. **Maximum expansion rate** limits inflation above the threshold. +8. Owners may **permanently decrease** max supply and threshold. +9. Owners may **reduce** expansion rate permanently. +10. Transfers may be **restricted to existing holders**. +11. Owners may **permanently disable** transfer restrictions. --- -## Local Setup Instructions +# 🖥 Platform Frontend Pages + +### **1. Landing Page** +- “Create CAT” button → Navigates to CAT Creation +- Input field → User enters a CAT contract address +- “Use CAT” button → Navigates to CAT Page for that contract + +### **2. CAT Page** +Displays full CAT state: +- Total supply +- Max supply +- Threshold +- Max expansion rate +- Transfer restriction status -To set up Clowder locally, follow these steps: +If wallet is connected **and user is an owner**, the page also allows: +- Minting tokens +- Updating parameters -1. **Clone the Repository** - Clone this repository to your local machine: - ```bash - git clone https://github.com/your-username/clowder.git - cd clowder -2. Install Dependencies - Install the required packages using your preferred package manager: +### **3. Create CAT Page** +- Form to input constructor parameters +- “Deploy CAT” button triggers contract deployment via factory - bash - Copy - npm install - # or - yarn install +### **4. My CATs Page** +- Shows all CAT token contracts **owned by the connected wallet** +- No backend — ownership mapping is stored in the factory contract -3. Set Up Environment Variables - Create a .env file in the root directory of the project and add the following environment variable: - NEXT_PUBLIC_PROJECT_ID=your-project-id +--- + +# 🛠 Tech Stack + +- **Next.js** +- **TailwindCSS** +- **ShadCN UI** +- **Viem / Wagmi** for blockchain interactions +- **Factory contract** stores CAT ownership mapping + +--- -4. Obtain Your Project ID - To get the your-project-id value for NEXT_PUBLIC_PROJECT_ID, follow these steps: - Go to https://cloud.reown.com/. - Create an account or log in if you already have one. - Create a new project within the dashboard. - Once the project is created, locate your project key (this might be labeled as "Project ID" or "API Key"). - Copy this key and paste it into your .env file as the value for NEXT_PUBLIC_PROJECT_ID. +# 🧪 Local Setup Instructions -5. Run the Development Server - Start the local development server: +Follow these steps to run Clowder locally. - npm run dev - # or - yarn dev +--- + +## 1. Clone the Repository + +```bash +git clone https://github.com/your-username/clowder.git +cd clowder +``` + +--- + +## 2. Install Dependencies + +```bash +npm install +# or +yarn install +``` + +--- +## 3. Set Environment Variables + +Create a `.env` file in the project root: + +``` +NEXT_PUBLIC_PROJECT_ID=your-project-id +``` + +--- + +## 4. Obtain Your Project ID + +1. Go to https://cloud.reown.com +2. Log in or create an account +3. Create a new project +4. Locate the **Project ID / API Key** +5. Place it in your `.env` file + +--- + +## 5. Run the Development Server + +```bash +npm run dev +# or +yarn dev +``` + +Your app will be available at: + +👉 http://localhost:3000 + +--- + +# 🌍 Community + +- Stability Nexus Docs — https://docs.stability.nexus/ +- Discord — https://discord.gg/YzDKeEfWtS + +--- -Your application should now be running on http://localhost:3000. \ No newline at end of file +© 2025 The Stable Order