Skip to content

A Farcaster mini app that helps creators & builders grow their trust and visibility onchain, it combines two things \n1. Onchain Endorsement \n2. Cross-channel Cast Schedule

Notifications You must be signed in to change notification settings

Moses-main/CastCred

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 

Repository files navigation

CastCred - Onchain Reputation Protocol for Farcaster

CastCred Logo

Table of Contents

Overview

CastCred is a decentralized reputation protocol built for the Farcaster ecosystem. It enables users to:

  • Give and receive verifiable onchain endorsements
  • Schedule and optimize casts across multiple channels
  • Build and track onchain reputation scores
  • Discover high-quality contributors in the ecosystem

The application combines the social features of Farcaster with the verifiability of blockchain credentials.

Features

Onchain Endorsements

  • Issue endorsements with specific skill tags
  • Verifiable credentials stored onchain
  • Rich endorsement messages with context

Smart Cast Scheduling

  • Multi-channel casting
  • Optimal timing suggestions
  • Content performance tracking

📊 Reputation Dashboard

  • Visual trust score display
  • Endorsement history
  • Network growth metrics

🛡 Decentralized Identity

  • Wallet-based authentication
  • Portable reputation
  • Privacy-preserving options

Getting Started

Prerequisites

  • Node.js v16+
  • npm or yarn
  • Farcaster account (for full functionality)
  • Ethereum wallet (MetaMask, Coinbase Wallet, etc.)

Installation

  1. Clone the repository:
git clone https://github.com/Moses-main/CastCred.git
cd CastCred
  1. Install dependencies:
npm install
# or
yarn install
  1. Set up environment variables:
cp .env.example .env
# Fill in your environment variables
  1. Run the development server:
npm run dev
# or
yarn dev
  1. Open http://localhost:3000 in your browser

Application Workflow

Endorsement System

  1. Search for Users

    • Find users by Farcaster username or ENS
    • View their existing endorsements and reputation
  2. Create Endorsement

    • Select from predefined skill tags (Developer, Designer, etc.)
    • Add a personalized message
    • Submit transaction to store onchain
  3. Manage Endorsements

    • View received endorsements
    • Filter by skill type
    • Share notable endorsements

Cast Scheduling

  1. Compose Cast

    • Write your message (280 character limit)
    • Add embeds or media
  2. Select Channels

    • Choose from available Farcaster channels
    • View channel stats and audience
  3. Schedule Time

    • Pick optimal posting time
    • Set up recurring posts
    • Review scheduled casts

Reputation Scoring

  1. Trust Score Calculation

    • Weighted by endorsement quality
    • Network effects considered
    • Activity-based adjustments
  2. Profile Display

    • Visual score representation
    • Skill breakdown
    • Endorsement history
  3. Discovery Features

    • Top-rated builders
    • Skill-specific leaderboards
    • Trending contributors

Development

Project Structure

src/
├── components/       # Reusable UI components
│   ├── header/       # Navigation components
│   ├── dashboard/    # Main app components
│   └── shared/       # Common utilities
├── hooks/            # Custom React hooks
├── lib/              # Utility functions
├── pages/            # Next.js page routes
├── styles/           # Global styles
├── types/            # TypeScript definitions
└── utils/            # Helper functions

Available Scripts

  • dev: Runs the app in development mode
  • build: Creates an optimized production build
  • start: Starts the production server
  • lint: Runs ESLint on the codebase
  • format: Formats code with Prettier
  • type-check: Verifies TypeScript types

Contributing

We welcome contributions from the community! Please follow these guidelines:

Code Style

  • TypeScript for all components
  • Functional components with hooks
  • Tailwind CSS for styling
  • ESLint/Prettier for code consistency

Commit Guidelines

We use Conventional Commits:

<type>[optional scope]: <description>

[optional body]

[optional footer]

Common types:

  • feat: New feature
  • fix: Bug fix
  • docs: Documentation changes
  • style: Code style/formatting
  • refactor: Code changes without fixing bugs
  • test: Test additions/modifications

Pull Request Process

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

Please include:

  • Description of changes
  • Screenshots for UI changes

About

A Farcaster mini app that helps creators & builders grow their trust and visibility onchain, it combines two things \n1. Onchain Endorsement \n2. Cross-channel Cast Schedule

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •