π ICN Quick Start - Full Stack
Status: β
PRODUCTION READY
Date: 2025-12-12
π― What We Have
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ICN Full Stack β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Mobile Wallet (CoopWallet) ββ Gateway API β
β β’ 11 screens implemented β’ REST + WebSocket β
β β’ Real-time updates β’ Auth + payments β
β β’ Offline mode β’ Governance + trust β
β β’ QR payments β’ Identity (SDIS) β
β β’ Governance voting β’ Metrics/monitoring β
β β’ Identity verification β
β β’ Trust attestations Backend Services β
β β’ ICN daemon (icnd) β
β Web UI (Pilot) β’ Gossip protocol β
β β’ Member directory β’ Ledger sync β
β β’ Payment flows β’ Trust graph β
β β’ Proposal voting β’ Governance β
β β’ Dashboard β’ Distributed computeβ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
π One-Command Deployment
# Start everything (daemon, gateway, pilot-ui, metrics)
docker-compose -f docker-compose.full.yml up -d
# Check status
docker-compose -f docker-compose.full.yml ps
# View logs
docker-compose -f docker-compose.full.yml logs -f gateway
# Stop everything
docker-compose -f docker-compose.full.yml down
π± Mobile Wallet
Development
cd sdk/react-native/examples/CoopWallet
npm install
npm start # Opens Metro bundler
Then:
- Press
ifor iOS simulator - Press
afor Android emulator - Scan QR with Expo Go app
Production Build
# Install Expo CLI globally
npm install -g eas-cli
# iOS
eas build --platform ios --profile production
# Android
eas build --platform android --profile production
π Web UI
Development
cd web/pilot-ui
npm install
npm run dev # http://localhost:5173
Production
# Build
npm run build
# Or use Docker
docker build -t icn-pilot-ui .
docker run -p 8080:80 icn-pilot-ui
π§ Backend Services
Local Development
cd icn
# Build everything
cargo build
# Run daemon
./target/debug/icnd
# Run gateway (separate terminal)
cd icn/crates/icn-gateway
cargo run
Testing
# Run all tests
cargo test
# Run specific crate tests
cargo test -p icn-gateway
# Run with logging
RUST_LOG=debug cargo test
π Access Points
Development
| Service | URL | Description |
|---|---|---|
| Gateway API | http://localhost:3030 | REST + WebSocket |
| Pilot UI | http://localhost:5173 | Web interface |
| Mobile App | Expo Metro | React Native app |
| Metrics | http://localhost:9090 | Prometheus |
| Dashboard | http://localhost:3000 | Grafana |
Production
| Service | URL | Description |
|---|---|---|
| Gateway API | https://api.icn.zone | REST + WebSocket |
| Pilot UI | https://pilot.icn.zone | Web interface |
| Mobile App | App Store / Play Store | iOS/Android |
| Metrics | https://metrics.icn.zone | Monitoring |
π Key Features
Mobile Wallet
- β Login - Cooperative ID + secure keys
- β Payments - Send/receive with QR codes
- β Governance - View proposals, cast votes
- β Identity - SDIS Level 1 verification
- β Trust - Attest trust for members
- β Offline - Queue operations, auto-retry
Web UI
- β Dashboard - Overview of cooperative
- β Members - Directory with profiles
- β Payments - Transaction interface
- β Proposals - Create and vote
- β Settings - Configure preferences
Backend
- β Daemon - P2P networking, gossip
- β Gateway - API + WebSocket server
- β Ledger - Mutual credit accounting
- β Governance - Democratic proposals
- β Trust - Web-of-participation
- β Identity - DID + SDIS verification
π Documentation
| File | Description |
|---|---|
MOBILE_WALLET_INTEGRATION.md |
Complete mobile wallet docs |
FULL_STACK_DEPLOY.md |
Deployment guide |
SESSION_COMPLETE_20251212.md |
Integration session summary |
docs/ARCHITECTURE.md |
System architecture |
docs/GETTING_STARTED.md |
Development setup |
ROADMAP.md |
Future plans |
π§ͺ Testing Checklist
Mobile App
- Login with coop ID
- View balance
- Send payment
- Receive via QR
- Scan QR code
- View proposals
- Cast vote
- View identity
- Verify member
- Attest trust
- Test offline mode
Web UI
- Login
- View dashboard
- Browse members
- Send payment
- Create proposal
- Vote on proposal
Backend
- Health check:
curl http://localhost:3030/v1/health - WebSocket:
wscat -c ws://localhost:3030/v1/ws - Create coop:
POST /v1/coop - Make payment:
POST /v1/ledger/{coop}/payment
π¨ Troubleshooting
Mobile App won't connect
- Check
GATEWAY_URLinsrc/client.ts - Verify gateway is running:
curl http://localhost:3030/v1/health - Check network permissions in app
Docker services won't start
- Check ports:
lsof -i :3030(gateway),lsof -i :5173(pilot-ui) - Check logs:
docker-compose logs -f - Rebuild:
docker-compose up --build -d
Tests failing
- Clean build:
cargo clean && cargo build - Check deps:
cargo update - Run single test:
cargo test test_name -- --nocapture
π― Quick Commands
# Start full stack
docker-compose -f docker-compose.full.yml up -d
# Mobile dev
cd sdk/react-native/examples/CoopWallet && npm start
# Web dev
cd web/pilot-ui && npm run dev
# Backend dev
cd icn && cargo run --bin icnd
# Run tests
cargo test
# View logs
docker-compose logs -f
# Stop everything
docker-compose down
π Support
- Docs:
/docs/ - Issues: GitHub Issues
- Email: dev@icn.coop
Everything is wired and ready to go! π