Skip to content

chain-mint/ilenoid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

156 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌍 Ilenoid

Building a more accountable future on Stacks

Built on Stacks Next.js Stacks.js TypeScript License

🌐 Live Demo β€’ πŸ“– Documentation β€’ πŸš€ Quick Start β€’ πŸ’‘ Features β€’ 🀝 Contributing


πŸ“‹ Table of Contents


🎯 Project Overview

Ilenoid is a production-ready decentralized application (dApp) that revolutionizes charity transparency by leveraging blockchain technology on Stacks. Every donation, milestone, and fund release is recorded immutably on-chain, ensuring complete accountability and trust.

The Problem We Solve

Traditional charity platforms lack transparency. Donors lose track of funds once they leave their bank account, leading to:

  • ❌ Donor fatigue and distrust
  • ❌ Lack of accountability
  • ❌ No way to verify fund usage
  • ❌ Limited donor engagement

Our Solution

βœ… Immutable Tracking: Every STX and SIP-010 token tracked on-chain from donation to expenditure
βœ… Milestone Governance: Funds locked in smart contracts, released only after donor approval
βœ… Weighted Voting: Donors vote based on contribution amount (vote weight = donation amount)
βœ… Radical Transparency: All operations recorded on-chain with full visibility
βœ… Low Fees: Built on Stacks for affordable transactions
βœ… Bitcoin Security: Leverages Bitcoin's security through Stacks blockchain


✨ Key Features

πŸ” Core Functionality

  • Multi-Asset Donations: Support for STX and SIP-010 fungible tokens
  • Milestone-Based Funding: Projects broken into verifiable milestones
  • Weighted Voting System: Donors vote on milestone releases based on contribution weight
  • NGO Verification: Only verified NGOs can create projects
  • Real-Time Updates: TanStack Query for efficient data fetching and caching
  • Emergency Controls: Pausable contracts with owner controls

πŸš€ Stacks Ecosystem Integration

  • Stacks Connect: Native wallet integration (Hiro, Xverse, and more)
  • Stacks Benefits: Bitcoin security, Clarity language, low fees
  • Modern Web3 Stack: @stacks/connect, @stacks/transactions, latest React patterns
  • Clarity 4: Built with the latest Clarity language features

🎨 User Experience

  • Responsive Design: Works seamlessly on desktop and mobile
  • Wallet Integration: Stacks Connect for multi-wallet support
  • Network Support: Testnet and Mainnet deployment ready
  • Error Handling: Comprehensive error messages and recovery flows

πŸ“Š Transparency Features

  • On-Chain Records: All transactions permanently recorded
  • Donation History: Complete donation tracking per project
  • Milestone Tracking: Real-time milestone status and voting progress
  • Project Analytics: Funding progress, donor counts, and more

πŸ—οΈ Why Stacks?

We chose Stacks as our platform because:

  1. Bitcoin Security: Inherits security and finality from Bitcoin
  2. Clarity Language: Decidable, secure smart contracts by design
  3. Low Fees: Affordable transactions for micro-donations
  4. Growing Ecosystem: Active community and strong developer support
  5. sBTC Integration: Native Bitcoin support through sBTC
  6. Post-Conditions: Built-in transaction safety features

πŸ› οΈ Tech Stack

Frontend

Smart Contracts

  • Language: Clarity 4
  • Framework: Clarinet
  • Security: Clarity's built-in security features (no reentrancy by design)
  • Testing: Comprehensive test suite (37 tests) using @stacks/transactions
  • Deployment: Stacks Testnet (βœ…), Mainnet (⏳)

Infrastructure

  • Frontend Deployment: Netlify
  • Contract Deployment: Stacks Testnet
  • RPC: Stacks API endpoints (testnet.hiro.so)
  • Explorer: Stacks Explorer

Integrations

  • Stacks Connect: Multi-wallet support (Hiro, Xverse, etc.)
  • @stacks/transactions: Contract calls and read-only functions
  • Stacks Explorer: Contract verification and exploration

🌐 Live Demo

Contract Addresses

Stacks Testnet:

Stacks Mainnet:

  • Ilenoid: ⏳ Coming soon after testnet validation

πŸš€ Getting Started

Prerequisites

  • Node.js 18+ and npm/yarn/pnpm
  • Stacks Wallet (Hiro Wallet, Xverse, etc.)
  • Stacks Testnet STX (for testing) - Get from Stacks Testnet Faucet
  • Git
  • Clarinet (for contract development) - Install from Clarinet docs

Installation

  1. Clone the repository:
git clone git@github.com:chain-mint/ilenoid.git
cd ilenoid
  1. Install dependencies:
npm install
# or
yarn install
# or
pnpm install
  1. Set up environment variables:
cp .env.example .env.local

Edit .env.local with your configuration:

# Application
NEXT_PUBLIC_APP_URL=http://localhost:3000

# Stacks Network
NEXT_PUBLIC_STACKS_NETWORK=testnet  # testnet or mainnet
NEXT_PUBLIC_STACKS_API_URL=https://api.testnet.hiro.so

# Contracts (Testnet)
NEXT_PUBLIC_ILENOID_ADDRESS=ST2W758Q6BS97GWK7STXTAW2ZG26YFXE4V5WMTG3Q.ilenoid
NEXT_PUBLIC_NGO_REGISTRY_ADDRESS=ST2W758Q6BS97GWK7STXTAW2ZG26YFXE4V5WMTG3Q.ngo-registry
  1. Run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
  1. Open http://localhost:3000 in your browser

Smart Contract Development

See the contract README for detailed instructions on:

  • Building and testing contracts
  • Deploying to Stacks networks
  • Running tests with Clarinet
  • Contract architecture and features

πŸ“œ Smart Contracts

Key Contracts

  1. ilenoid.clar: Main contract handling projects, donations, voting, and fund releases (753 lines)
  2. ngo-registry.clar: Verified NGO management system

Key Features

  • βœ… Clarity 4 language features
  • βœ… Pausable for emergency situations
  • βœ… Owner-only functions for NGO management
  • βœ… Milestone-based fund locking
  • βœ… Weighted voting system (>50% quorum)
  • βœ… Multi-asset support (STX + SIP-010 tokens)
  • βœ… Built-in security (no reentrancy by design in Clarity)

Security

  • Comprehensive test coverage (37 tests)
  • Clarity's built-in security features
  • Access control mechanisms
  • Emergency withdrawal capabilities
  • Full on-chain transparency

See contract documentation for more details.


πŸ”’ Security

Security Features

  • Clarity Language: Decidable, secure smart contracts by design
  • No Reentrancy: Clarity prevents reentrancy attacks by design
  • Access Control: Owner-only functions for critical operations
  • Pausable: Emergency pause functionality
  • Input Validation: Comprehensive checks on all inputs
  • On-Chain Transparency: All operations are verifiable on-chain

Audit Status

  • βœ… Internal security review completed
  • βœ… Comprehensive test suite (37 tests)
  • βœ… Clarity's built-in security guarantees
  • ⏳ External audit planned

Reporting Security Issues

If you discover a security vulnerability, please email [security@yourdomain.com] instead of using the issue tracker.


πŸ“š Documentation


🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

Quick Contribution Steps

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Development Guidelines

  • Follow TypeScript best practices
  • Write tests for new features
  • Update documentation
  • Follow the existing code style
  • Add comments for complex logic

🌟 Acknowledgments

  • Stacks for the amazing Bitcoin L2 platform
  • Hiro for excellent developer tools and documentation
  • Stacks.js for Web3 integration
  • Farcaster for social infrastructure
  • The entire Stacks and Web3 community for inspiration and support

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ”— Links


πŸ™ Support

If you find this project useful, please consider:

  • ⭐ Starring the repository
  • πŸ› Reporting bugs
  • πŸ’‘ Suggesting new features
  • 🀝 Contributing code
  • πŸ“’ Sharing with others

Stacks β€’ Stacks.js β€’ Next.js β€’ Farcaster

About

Ilenoid is a production-ready decentralized application (dApp) that revolutionizes charity transparency by leveraging blockchain technology on Stacks. Every donation, milestone, and fund release is recorded immutably on-chain, ensuring complete accountability and trust.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors