Skip to content

Discussion: Hybrid On-Chain School Directory & Donation Flow #1

Description

@sanaderi

exploring the best way to integrate our existing school directory with the new on-chain donation system.

Current school directory is already live here: gamatrain.com/school
This page includes detailed information about schools (profiles, metadata, etc.), and we want to connect it with our Anchor-based Solana program.


Proposed Hybrid Approach

  • Keep the full directory off-chain (in our database).
  • When a user (donor or school rep) visits a school detail page and starts a donation request:
    • If the school does not already exist on-chain, create a School account that references the off-chain record (site_school_id + optional metadata URI).
    • Then, create the Request account (linked to the School account).
  • Verification Step: Each donation request must be approved by the school admin (authority wallet) before it becomes active.
  • Donations are recorded on-chain through Donation accounts, ensuring transparency and auditability.

Benefits of Hybrid

  • Reuse our existing school directory without migrating all data to Solana.
  • Keep storage costs low on-chain.
  • Allow fast updates to school info off-chain.
  • Ensure donation requests are verified by school admins, preventing spam/fraud.
  • Still achieve full transparency for donations and requests.

Example Flow

  1. User visits a school detail page.
  2. Check if a School account exists on-chain.
    • If not → create it.
  3. User (student, teacher, or rep) submits a donation request.
  4. School admin (authority wallet) verifies/approves the request.
  5. Once approved, request is visible and open for donations.
  6. Donors contribute → funds tracked on-chain until fulfilled.

Next Steps

  • Define Anchor account structures (School, Request, Donation).
  • Implement instructions for:
    • create_school_if_needed
    • create_request
    • verify_request (school admin approval)
    • donate_request
  • Discuss whether school creation should be automatic when the first donation request is made, or manual by school admins.

Open for Contributors

We’d love feedback on:

  • The hybrid model (off-chain directory + on-chain donations).
  • The verification step by school admins — is this enough, or do we also need DAO/community review?
  • The flow design (school → request → verification → donation).
  • Any improvements for scalability, transparency, and security.

What do you think? How should we refine this flow to make it both practical and trustworthy for schools, students, and donors?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions