Developer Onboarding
Welcome to the InterCooperative Network (ICN) developer onboarding program. This structured curriculum will take you from zero to productive ICN contributor, whether youโre new to Rust or an experienced systems programmer.
What is ICN?
ICN is a decentralized coordination substrate for cooperative organizations. Unlike blockchains that focus on trustless consensus, ICN focuses on:
- Trust-based coordination: Social relationships inform system behavior
- Cooperative economics: Mutual credit, clearing, and fair value exchange
- Federation: Independent cooperatives working together across boundaries
- Privacy and sovereignty: Members control their own data and identity
The system is built in Rust using an actor-based architecture, with components for identity, trust, networking, gossip synchronization, ledger accounting, smart contracts, and inter-cooperative federation.
Choose Your Track
Foundations Track (5-6 weeks)
- New to Rust or havenโt used it in production
- Familiar with programming concepts from other languages
- Want to learn Rust idioms through real-world ICN code
Accelerated Track (3-4 weeks)
- Comfortable with Rust ownership, lifetimes, and async
- Experience with distributed systems or P2P networking
- Want to focus on ICN architecture and contribute quickly
Curriculum Overview
Core Modules (0-10)
| Module | Topic | What Youโll Learn |
|---|---|---|
| 0 | Setup | Build environment, tooling, project structure |
| 1 | Rust Fundamentals | Ownership, error handling, async patterns |
| 2 | Architecture | Layer stack, crate responsibilities, integration points |
| 3 | Runtime & Actors | Supervisor, actor lifecycle, shutdown coordination |
| 4 | Identity & Trust | DIDs, keystore, trust graphs, key rotation |
| 5 | Network & Gossip | QUIC transport, mDNS, topic subscriptions |
| 6 | Ledger & Contracts | Mutual credit, Merkle-DAG, CCL execution |
| 7 | Gateway & SDK | REST API, WebSocket, JWT auth, SDK usage |
| 8 | Web UI | Pilot UI, data flow, session handling |
| 9 | Operations | Deployment, monitoring, production hardening |
| 10 | Contributing | Tests, CI, PR workflow, git conventions |
Advanced Module
| Module | Topic | What Youโll Learn |
|---|---|---|
| 11 | Federation | Inter-coop agreements, clearing, netting, attestations |
Hands-on Workshops
Each module has a corresponding workshop with practical exercises:
| Workshop | Focus Area |
|---|---|
| Workshop 0 | Local Build and Repo Orientation |
| Workshop 1 | Rust Fundamentals Exercises |
| Workshop 2 | Architecture Deep Dive |
| Workshop 3 | Runtime & Actor Patterns |
| Workshop 4 | Identity & Trust Operations |
| Workshop 5 | Network & Gossip Protocol |
| Workshop 6 | Ledger & Contract Development |
| Workshop 7 | Gateway API & SDK Usage |
| Workshop 8 | Web UI Development |
| Workshop 9 | Operations & Deployment |
| Workshop 10 | Contributor Workflow |
| Workshop 11 | Federation Patterns |
Learning Path
Foundations Track (6 weeks)
Week 1: Setup + Rust Fundamentals
Week 2: Architecture + Runtime
Week 3: Identity + Network
Week 4: Ledger
Week 5: Gateway + UI
Week 6: Ops + Contributing + Capstone
Accelerated Track (4 weeks)
Week 1: Setup โ Runtime
Week 2: Identity โ Ledger
Week 3: Gateway + UI
Week 4: Ops + Contributing + Capstone
Supporting Materials
- Syllabus - Course outline and pacing
- Patterns - Common code patterns reference
- Assessments - Quick knowledge checks
- Capstone - Final integrative project
- Reading Map - Module-to-code cross-references
Quick Start
# Clone and build
git clone https://github.com/InterCooperative-Network/icn.git
cd icn/icn
cargo build
# Run tests
cargo test --workspace --lib
# Start the daemon (requires initialized identity)
export ICN_PASSPHRASE="your-passphrase"
./target/debug/icnctl id init
./target/debug/icnd
# Format and lint before contributing
cargo fmt --all
cargo clippy --workspace
Current Status
- 18 phases complete - Core infrastructure fully built
- 2,400+ tests - Comprehensive test coverage
- 26 crates - Modular architecture
- Live on K3s - Running in production cluster since December 2025
Getting Help
- Issues: Open a GitHub issue for bugs or questions
- Discussions: GitHub Discussions for design conversations
- Contributing: See CONTRIBUTING.md for PR guidelines
Full Curriculum
For the complete onboarding curriculum including all modules, workshops, and supporting materials: