Skip to content

🌱 Production-ready gift economy mesh network for Solarpunk communes - Complete offline-first system for mutual aid coordination

License

Notifications You must be signed in to change notification settings

lizTheDeveloper/solarpunk_utopia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Solarpunk Gift Economy Mesh Network 🌱

Production-ready system for regenerative communities to coordinate mutual aid without internet dependency.

Status License Python TypeScript

πŸ“± Android App

Download APK

Standalone offline app - runs Python backend directly on your phone. No internet required after install.

  • Works 100% offline
  • 67 MB download
  • Android 8.0+ required
  • Mesh sync via WiFi Direct

View all releases


πŸš€ One-Line Install

Linux/Mac:

curl -sL https://raw.githubusercontent.com/lizTheDeveloper/solarpunk_utopia/main/setup.sh | bash

Termux (Android):

pkg install curl -y && curl -sL https://raw.githubusercontent.com/lizTheDeveloper/solarpunk_utopia/main/setup.sh | bash

Or using wget:

wget -qO- https://raw.githubusercontent.com/lizTheDeveloper/solarpunk_utopia/main/setup.sh | bash

This installs everything and starts all services. Access at http://localhost:3000 when complete.

Running on Android (Termux)

Prerequisites

  • Android 7.0+ (Android 11+ requires extra steps below)
  • 2GB+ free storage
  • Stable WiFi connection

Installation Steps

  1. Install Termux from F-Droid (NOT Google Play - that version is broken)

    • Install F-Droid app: https://f-droid.org/
    • Search for "Termux" in F-Droid
    • Install Termux (version 0.118.x recommended)
  2. Grant Permissions (IMPORTANT for Android 11+)

    • Open Android Settings β†’ Apps β†’ Termux β†’ Permissions
    • Enable "Files and media" or "Storage"
    • For Android 11+: Enable "All files access" under Special app access
  3. First Launch

    • Open Termux
    • Wait for bootstrap installation (2-5 minutes)
    • Do not touch anything until you see a $ prompt
    • If you get "Permission denied" errors, see troubleshooting below
  4. Run the installer:

    pkg install curl -y && curl -sL https://raw.githubusercontent.com/lizTheDeveloper/solarpunk_utopia/main/setup.sh | bash

    Installation takes 5-15 minutes depending on your device.

  5. Access the app in your phone's browser:

    # Open Chrome/Firefox and go to:
    http://localhost:3000
  6. Keep services running after closing Termux:

    Prevent CPU sleep (required):

    termux-wake-lock

    This keeps services running even when screen is off.

    Start services in background:

    nohup ./run_all_services.sh > /dev/null 2>&1 &

    Prevent Android from killing Termux:

    • Settings β†’ Apps β†’ Termux β†’ Battery β†’ Unrestricted (or "Don't optimize")
    • This prevents Android from killing Termux in the background

    Keep screen on while working (optional, drains battery):

    • Settings β†’ Display β†’ Screen timeout β†’ 30 minutes (or higher)
    • Or use Developer Options β†’ Stay awake (while charging)
  7. Auto-start on phone boot (optional):

    • Install Termux:Boot from F-Droid
    • Create startup script:
      mkdir -p ~/.termux/boot
      cat > ~/.termux/boot/start-solarpunk.sh << 'EOF'
      #!/data/data/com.termux/files/usr/bin/sh
      termux-wake-lock
      cd ~/solarpunk_utopia
      ./run_all_services.sh > /dev/null 2>&1 &
      EOF
      chmod +x ~/.termux/boot/start-solarpunk.sh
  8. Check service health:

    curl http://localhost:8000/health

Troubleshooting Android Installation

"Unable to install bootstrap" or "Permission denied":

  1. Clean reinstall (this fixes 90% of issues):

    # In Android Settings:
    Settings β†’ Apps β†’ Termux β†’ Storage β†’ Clear Data
    Settings β†’ Apps β†’ Termux β†’ Uninstall
    
    # Then reinstall from F-Droid and grant permissions immediately
  2. Android 11+ Phantom Process Issue:

    • If bootstrap keeps failing, you may need to disable phantom process killer
    • Requires ADB: adb shell "settings put global settings_enable_monitor_phantom_procs false"
    • Then reboot phone and reinstall Termux
  3. Change repository mirror:

    termux-change-repo
    # Select "All repositories" β†’ Choose a different mirror
  4. Alternative: Use UserLAnd

    • If Termux won't work, install UserLAnd from Play Store/F-Droid
    • Choose Ubuntu distribution
    • Run the Linux installer instead

Services won't start:

  • Make sure you have enough storage (check with df -h)
  • Try killing existing processes: ./stop_all_services.sh then restart

Can't access localhost:3000:

  • Check if services are running: ps aux | grep python
  • Check logs: tail -f logs/dtn_bundle_system.log
  • Make sure you're using http:// not https://

What is This?

A complete offline-first mesh network system for Solarpunk communes to:

  • 🎁 Share resources via gift economy (offers, needs, exchanges)
  • πŸ“¦ Distribute bundles via delay-tolerant networking
  • πŸ” Search distributed indexes across mesh islands
  • πŸ“š Share knowledge through chunked file distribution
  • πŸ€– Get AI assistance for matching, planning, and coordination
  • 🌐 Operate autonomously without internet or corporate platforms

This is not a demo. This is production software for real communities.


Quick Start

Manual Setup (if you prefer not to use the one-liner above)

# Clone repository
git clone https://github.com/lizTheDeveloper/solarpunk_utopia.git
cd solarpunk_utopia

# Setup backend
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

# Start all services
./run_all_services.sh

# Start frontend (new terminal)
cd frontend
npm install
npm run dev

# Access at http://localhost:3000

See QUICKSTART.md for detailed guide.


What's Included

Core Systems (28 of 31 complete - 90%)

TIER 0 - Foundation

  • βœ… DTN Bundle System (5 systems) - Delay-tolerant networking with store-and-forward
  • βœ… ValueFlows Node (6 systems) - Complete gift economy coordination (VF v1.0)
  • ⏳ Phone Deployment (0 systems) - Deferred for physical hardware

TIER 1 - Core Functionality

  • βœ… Discovery & Search (3 systems) - Distributed queries across mesh
  • βœ… File Chunking (3 systems) - Knowledge distribution with Merkle trees
  • βœ… Multi-AP Mesh Network (4 systems) - Physical infrastructure (Mode A/C)

TIER 2 - Intelligence

  • βœ… Agent System (7 systems) - AI agents for coordination (proposals require approval)

Infrastructure

  • βœ… Complete unified frontend (React + TypeScript, 47 files)
  • βœ… Systemd service management (Linux)
  • βœ… Nginx reverse proxy
  • βœ… End-to-end integration tests
  • βœ… Comprehensive documentation (8,000+ lines)

Statistics

  • 235+ source files
  • 32,000+ lines of production code
  • 90+ REST API endpoints (auto-documented)
  • 20+ test suites (100% pass rate)

Key Features

🎁 Gift Economy Coordination

  • Create offers and needs in <1 minute
  • AI matchmaker finds compatible offers/needs
  • Exchange coordination with bilateral approval
  • Event recording for accountability and provenance
  • All 13 ValueFlows object types implemented

πŸ“¦ Delay-Tolerant Networking

  • Store-and-forward between AP islands
  • Priority-based forwarding (emergency β†’ perishable β†’ normal β†’ low)
  • Ed25519 cryptographic signing
  • TTL enforcement and cache budgets
  • Bundle propagation <10 min via bridge nodes

πŸ” Distributed Discovery

  • Periodic index publishing (offers, needs, files, services)
  • Query propagation through mesh network
  • Cached indexes enable offline discovery
  • Bridge nodes serve as query responders

πŸ“š Knowledge Distribution

  • Content-addressed file distribution (SHA-256)
  • Intelligent chunking (256KB-1MB)
  • Merkle tree verification
  • Library nodes cache popular content
  • Resume partial downloads

🌐 Multi-AP Mesh Infrastructure

  • Multiple AP islands with independent subnets
  • Bridge nodes walk between islands carrying bundles
  • Mode C (DTN-only) always works (mandatory)
  • Mode A (BATMAN-adv) optional speedup
  • Graceful degradation

πŸ€– AI Coordination Agents

  • 7 specialized agents (matchmaker, scheduler, planner, etc.)
  • Proposal-based (NOT allocations) - human approval required
  • Completely opt-in (no surveillance)
  • Transparent reasoning (explanation + inputs + constraints)

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    Solarpunk Mesh Network                    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  DTN Bundle      β”‚  ← Foundation: Store-and-forward transport
β”‚  System          β”‚     Port 8000, Ed25519 signing
β”‚  (TIER 0)        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚
         β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”
         ↓         ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ ValueFlows   β”‚  β”‚ Discovery &  β”‚  ← Core: Economic coordination
β”‚ Node         β”‚  β”‚ Search       β”‚     and distributed search
β”‚ (TIER 0)     β”‚  β”‚ (TIER 1)     β”‚
β”‚ Port 8001    β”‚  β”‚ Port 8003    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚              β”‚
         β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”
         ↓              ↓         ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Agent System β”‚  β”‚  File   β”‚  β”‚  Multi-AP    β”‚
β”‚ (TIER 2)     β”‚  β”‚ Chunkingβ”‚  β”‚  Mesh        β”‚
β”‚ 7 AI agents  β”‚  β”‚(TIER 1) β”‚  β”‚  (TIER 1)    β”‚
β”‚              β”‚  β”‚Port 8004β”‚  β”‚  Port 8002   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Documentation

Getting Started

System Details

  • BUILD_PLAN.md - Vision, architecture, and specifications
  • FINAL_SUMMARY.md - Complete summary of what was built
  • Component READMEs - Each system has detailed documentation

API Documentation

Auto-generated interactive docs available at:


Technology Stack

Backend: Python 3.12, FastAPI, SQLite, asyncio, Ed25519 crypto Frontend: React 18, TypeScript, Vite, Tailwind CSS, React Query Infrastructure: Systemd, Nginx, Python venv Mesh: BATMAN-adv, hostapd, dnsmasq Testing: pytest, pytest-asyncio


Use Cases

For Solarpunk Communes

  • Share surplus food before it spoils (perishables dispatcher)
  • Lend tools and equipment easily (offer/need matching)
  • Coordinate seasonal planting and harvests (permaculture planner)
  • Teach and learn skills within community (education pathfinder)
  • Plan work parties and events (scheduler agent)
  • Track resource flows for accountability (event recording)
  • Operate entirely offline and autonomously (DTN networking)

For Developers

  • Complete reference implementation of ValueFlows v1.0
  • Production-ready DTN bundle system with Ed25519 signing
  • Multi-agent AI coordination framework with approval gates
  • Content-addressed file distribution with Merkle trees
  • Distributed discovery and search across mesh networks
  • Real-world offline-first architecture patterns

Project Structure

solarpunk_utopia/
β”œβ”€β”€ app/                      # DTN Bundle System + AI Agents
β”œβ”€β”€ valueflows_node/          # ValueFlows implementation + React UI
β”œβ”€β”€ discovery_search/         # Discovery & Search system
β”œβ”€β”€ file_chunking/            # File chunking system
β”œβ”€β”€ mesh_network/             # Multi-AP mesh network software
β”œβ”€β”€ frontend/                 # Unified frontend application
β”œβ”€β”€ tests/integration/        # End-to-end tests
β”œβ”€β”€ openspec/                 # OpenSpec proposals (7 proposals)
β”œβ”€β”€ setup.sh                  # One-line installer
β”œβ”€β”€ run_all_services.sh       # Start all services
└── stop_all_services.sh      # Stop all services

Contributing

This is infrastructure for regenerative communities. Contributions welcome!

  1. Read CLAUDE.md for repository architecture
  2. Check BUILD_STATUS.md for what's complete
  3. Review openspec/ for proposals and specifications
  4. Run tests: pytest tests/integration/ -v
  5. Follow existing patterns (FastAPI, React Query, Pydantic, TypeScript)

License

MIT License - Use this to build a better world!

See LICENSE file for details.


Vision

From the original specification:

"We're building the infrastructure for regenerative gift economy communities. This isn't just softwareβ€”it's a tool for communities to coordinate mutual aid, share resources, plan permaculture work, and learn together, all without depending on corporate platforms or internet infrastructure."

When this system works, communes can:

  • βœ… Share surplus food before it spoils
  • βœ… Lend tools and equipment easily
  • βœ… Coordinate seasonal planting and harvests
  • βœ… Teach and learn skills within the community
  • βœ… Plan work parties and events
  • βœ… Track resource flows for accountability
  • βœ… Operate entirely offline and autonomously

This is infrastructure for a better world. Let's build it together. 🌱


Status

Current: βœ… Production ready (28 of 31 systems complete) Next: Hardware deployment (Raspberry Pi APs, Android bridge nodes) Future: Multi-commune federation via NATS


Support


Built with ❀️ for regenerative gift economy communities

Let's coordinate mutual aid without corporate platforms. Let's build solidarity infrastructure. Let's create the world we want to see. 🌱

About

🌱 Production-ready gift economy mesh network for Solarpunk communes - Complete offline-first system for mutual aid coordination

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •